在C++的编程过程中,使用模板进行泛型编程是非常有必要的,本文为输出不同容器的输出函数,话不多说,上代码:
#include<windows.h>
#include<iostream>
#include<vector>
using namespace std;
template<typename container>
void printany_container(const container &c,ostream &out=cout)//定义输出流中的对象out=cout
{
if(c.empty())
out<<"empty";
else
{
auto itr=c.begin();
out<<"["<<*itr++;
while(itr!=c.end())
{
out<<","<<*itr++;
}
out<<"]"<<endl;
}
}
int main()
{
SetConsoleOutputCP(CP_UTF8);
vector<int> v;
v.push_back(6);
v.push_back(5);
v.push_back(1);
v.push_back(4);
v.push_back(2);
printany_container(v);
system("pause");
}
输出效果:
对于该输出函数还有可修改的空间,如:对begin、end运算符进行重载,使得不止可以输出容器内容。