能否设计一个c++函数,可以打印出任意STL容器中全部元素?
时间: 2023-05-20 20:07:38 浏览: 110
c++实现STL容器
是的,可以编写一个模板函数,接受任意 STL 容器,并使用迭代器遍历容器中的所有元素进行打印操作。以下是示例代码:
```
#include <iostream>
#include <vector>
#include <list>
#include <map>
template <typename T>
void printStlContainer(const T& container) {
for (auto itr = container.begin(); itr != container.end(); ++itr) {
std::cout << *itr << " ";
}
std::cout << std::endl;
}
int main() {
std::vector<int> v{1, 2, 3, 4, 5};
printStlContainer(v);
std::list<std::string> l{"apple", "banana", "orange"};
printStlContainer(l);
std::map<std::string, int> m{{"one", 1}, {"two", 2}, {"three", 3}};
printStlContainer(m);
return 0;
}
```
以上代码可以打印出 vector、list 和 map 容器里的所有元素。
阅读全文