¿Hay una buena manera en C++ para implementar (o falsificar) un tipo para un vector genérico de vectores?Vector genérico de vectores en C++
Ignore la cuestión de cuándo un vector de vectores es una buena idea (a menos que haya algo equivalente que siempre es mejor). Supongamos que modela con precisión el problema y que una matriz no modela el problema con precisión. Supongamos también que las funciones con plantilla que toman estas cosas como parámetros necesitan manipular la estructura (por ejemplo, llamar a push_back), por lo que no pueden simplemente tomar un tipo genérico compatible con [][]
.
Lo que quiero hacer es:
template<typename T>
typedef vector< vector<T> > vecvec;
vecvec<int> intSequences;
vecvec<string> stringSequences;
pero por supuesto eso no es posible, ya que no se puede typedef plantilla.
#define vecvec(T) vector< vector<T> >
está cerca, y ahorraría duplicar el tipo a través de cada función con plantilla que opera en vecvecs, pero no sería popular con la mayoría de los programadores de C++.
Creo que también han solucionado la necesidad de espacios en >> –
de hecho, tienen :) –