4. 编写一个模板函数,接受一个STL容器的引用作为参数,打印STL容器中的所有元素。你可以使用c容器的 size() 成员函数来控制打印元素的循环。在主函数中,测试你所编写的函数。
时间: 2023-06-12 19:04:34 浏览: 180
C++ STL容器stack和queue详解
下面是一个模板函数,接受一个STL容器的引用作为参数,打印STL容器中的所有元素:
```c++
#include <iostream>
#include <vector>
#include <list>
template<typename T>
void print_container(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<char> lst = {'a', 'b', 'c', 'd'};
std::cout << "Printing vector: ";
print_container(vec);
std::cout << "Printing list: ";
print_container(lst);
return 0;
}
```
在这个例子中,我们定义了一个 `print_container` 模板函数,它接受一个STL容器的引用作为参数,并打印容器中的所有元素。在主函数中,我们创建了一个包含整数的 `std::vector` 和一个包含字符的 `std::list`,并使用 `print_container` 函数分别打印了它们的元素。
阅读全文