En C++, puedo inicializar estáticamente una matriz, por ejemplo .:¿Hay alguna manera de inicializar estáticamente una matriz asignada dinámicamente en C++?
int a[] = { 1, 2, 3 };
¿Hay una manera fácil para inicializar una matriz asignada dinámicamente a un conjunto de valores inmediatos?
int *p = new int[3];
p = { 1, 2, 3 }; // syntax error
... ¿o tengo que copiar estos valores de forma manual?
¿A qué se opone? La necesidad de escribir código para inicializar un vector? ¿El tiempo que lleva copiar? Tenga en cuenta que cualquier truco del compilador para inicializar una matriz dinámicamente asignada implicaría la misma copia, ya que no es posible garantizar que la memoria asignada tenga los contenidos exactos correctos. –
Si el rendimiento es esencial, ¿por qué está asignando dinámicamente? ¿Por qué la indirección a través de un puntero? Como está "inicializando estáticamente" la matriz de todos modos, seguramente las dimensiones de las matrices se conocen en tiempo de compilación. – fredoverflow
No me opongo a nada, solo pregunto. Estoy usando una clase de matriz propia que almacena datos en una matriz asignada dinámicamente y pensé que sería bueno si pudiera inicializar esa matriz sin copiar los datos manualmente. :) – neuviemeporte