В C++, я могу статический инициализировать массив, например .:Есть ли способ статически инициализировать динамически выделенный массив в C++?
int a[] = { 1, 2, 3 };
Есть простой способ инициализировать динамически выделенный массив множество непосредственных значений?
int *p = new int[3];
p = { 1, 2, 3 }; // syntax error
... или мне абсолютно необходимо скопировать эти значения вручную?
О чем вы возражаете? Необходимость написания кода для инициализации вектора? Время, необходимое для копирования? Обратите внимание, что любой трюк компилятора для инициализации динамически выделенного массива будет включать одно и то же копирование, поскольку невозможно гарантировать, что выделенная память поставляется с точным правильным содержимым. –
Если производительность сущности, почему вы динамически выделяете вообще? Почему косвенность через указатель? Поскольку вы все равно статически инициализируете массив, наверняка размеры матриц известны во время компиляции? – fredoverflow
Я ни о чем не возражаю, просто спрашиваю. Я использую собственный класс матрицы, который хранит данные в динамически распределенном массиве, и я подумал, что это хорошо, если я могу инициализировать этот массив без копирования данных вручную. :) – neuviemeporte