4.编写一个模板函数,接受一个STL容器的引用作为参数,打印STL容器中的所有元素。你可以使用容器的 size() 成员函数来控制打印元素的循环。在主函数中,测试你所编写的函数。
时间: 2024-02-09 20:11:14 浏览: 20
好的,这是一个接受STL容器的引用作为参数的模板函数,并打印所有元素的实现:
```c++
#include <iostream>
#include <vector>
#include <list>
template <typename T>
void printContainer(const T& container) {
for (auto it = container.begin(); it != container.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
}
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
std::list<std::string> lst = {"hello", "world"};
std::cout << "Printing vector elements: ";
printContainer(vec);
std::cout << "Printing list elements: ";
printContainer(lst);
return 0;
}
```
在这个例子中,我们定义了一个模板函数 `printContainer`,它接受一个STL容器的引用作为参数。函数使用迭代器遍历容器中的元素,并打印每个元素。在主函数中,我们创建了一个 `vector<int>` 和一个 `list<string>`,并分别调用了 `printContainer` 函数来打印它们的元素。