【发布时间】:2008-11-16 15:26:26
【问题描述】:
在 C++ 中有没有一种好方法来实现(或伪造)一个通用向量的类型?
忽略向量向量何时是一个好主意的问题(除非有等效的东西总是更好)。假设它确实准确地建模了问题,并且矩阵没有准确地建模问题。还假设将这些东西作为参数的模板化函数确实需要操纵结构(例如调用 push_back),因此它们不能只采用支持 [][] 的泛型类型。
我想做的是:
template<typename T>
typedef vector< vector<T> > vecvec;
vecvec<int> intSequences;
vecvec<string> stringSequences;
当然这是不可能的,因为 typedef 不能被模板化。
#define vecvec(T) vector< vector<T> >
很接近,并且可以避免在每个在 vecvecs 上运行的模板化函数中重复类型,但不会受到大多数 C++ 程序员的欢迎。
【问题讨论】: