编写一个模板函数,接受一个STL容器的引用作为参数,打印STL容器中的所有元素。你可以使用容器的 size() 成员函数来控制打印元素的循环。在主函数中,测试你所编写的函数
时间: 2024-05-01 21:18:12 浏览: 7
好的,我理解了你的要求,下面是一个示例的函数:
```cpp
template<typename T>
void printContainer(const T& container)
{
for(size_t i = 0; i < container.size(); ++i)
{
std::cout << container[i] << " ";
}
std::cout << std::endl;
}
```
这个函数使用了模板来支持不同类型的容器,使用容器的 size() 函数来控制循环,使用 container[i] 来访问容器中的元素并打印出来。你可以在主函数中测试它,比如这样:
```cpp
int main()
{
std::vector<int> vec = {1, 2, 3, 4, 5};
std::list<std::string> lst = {"hello", "world", "!"};
std::array<float, 3> arr = {1.2f, 3.4f, 5.6f};
printContainer(vec);
printContainer(lst);
printContainer(arr);
return 0;
}
```
你可以尝试运行这个程序,看看这个函数是否正常工作。
相关问题
4. 编写一个模板函数,接受一个STL容器的引用作为参数,打印STL容器中的所有元素。你可以使用c容器的 size() 成员函数来控制打印元素的循环。在主函数中,测试你所编写的函数。
下面是一个模板函数,接受一个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` 函数分别打印了它们的元素。
4.编写一个模板函数,接受一个STL容器的引用作为参数,打印STL容器中的所有元素。你可以使用容器的 size() 成员函数来控制打印元素的循环。在主函数中,测试你所编写的函数。
好的,这是一个接受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` 函数来打印它们的元素。