【发布时间】:2014-07-07 22:48:48
【问题描述】:
我需要定义一个函数,该函数有两个参数,第一个是一个容器,其中包含一些T类型的容器,第二个是一个整数,函数的签名可能是这样的:
#include <vector>
#include <string>
#include <list>
using namespace std;
vector<vector<T>> my_function(const vector<vector<T>>& var, int cnt);
vector<list<T>> my_function(const list<vector<T>>& var, int cnt);
我应该如何定义函数模板?
【问题讨论】:
-
@KerrekSB 不应该是 T 而不是 void 吗?
-
嗯...如果你有勇气,你可以谷歌模板模板参数
-
@KerreSB 我返回一个向量
>,但得到一个常量向量 - >& 作为参数怎么样?
-
如果我理解,你有一个containertype_a 行的一个containertype_b 列的一个elementtype_c,并且你想返回一个containertype_b 的一个containertype_a 的列的一个elementtype_c 的行?基本上,切换什么是外部和什么是内部 containertype+index...您知道,使用外观和代理对象可能更容易和更快...
-
@dguan:哦,我知道你想把X的容器B的容器A换成X的容器A的容器B?
标签: c++ templates stl containers template-specialization