Sé cómo llenar un std :: vector con valores iniciales no triviales, p. números de secuencia:¿Cómo llenar un vector con valores iniciales no triviales?
void IndexArray(unsigned int length, std::vector<unsigned int>& v)
{
v.resize(length);
for (unsigned int i = 0; i < length; ++i)
{
v[i] = i;
}
}
Pero esto es un bucle. ¿Hay una manera elegante de hacer esto con menos líneas de código usando la funcionalidad stl (y no usando Boost)?
Es posible que desee comenzar con v [i] == i, pero cámbielo más tarde en el código. – paxdiablo
sí, probablemente, esperaba que él explicara el caso. posiblemente haya un mejor método que llenarlos primero. Como una forma de evaluación perezosa o algo así. – moogs
Hice mi pregunta más general, ya que la pregunta era sobre inicialización con valores no triviales. De hecho, quería llenar la matriz con números de índice, para poder permutarlos más tarde. Probablemente haya otras soluciones para eso también. –