【发布时间】:2013-09-30 12:30:16
【问题描述】:
我想创建一个将 std::vector 引用作为参数的类方法,并且我想将它用于不同类型的数据。
函数应该如下所示:
void some_function(const std::vector & vect){ //do something with vector }
我想用它来举例:
std::vector<int> v1;
some_function(v1);
std::vector<string> v2;
some_function(v2);
我希望我的观点很清楚。 我是否必须制作这样的模板方法:
template<class T>
void some_function(std::vector<T> & vect){}
或者我可以用其他方式吗?如果必须,请告诉我如何在课堂上编写该方法。
感谢您的帮助!
【问题讨论】:
-
是的,就是这样做的。还是你在问别的?
-
你的建议有什么问题?
-
这个问题的答案是自给自足的。只是补充一点,如果有人想迭代这样的向量,请使用:
for(typename vector<T, A>::const_iterator it = vect.begin(); it != vect.end(); ++it)