2015-08-28 1 views
0

Я могу инициализировать массив со значениями по умолчаниюИнициализировать новый C++ массив с различными заданными значениями

int arrayWithDefault[5] = { 0 }; 

также возможность инициализировать новый массив со значениями по умолчанию

int *ptrArrayWithDefault = new int[2](); 

Как я могу инициализировать новый массив с различными значениями, такими как

ptrArrayWithDefault[0] == 1 && ptrArrayWithDefault[1] == 2 

Я могу просто решить его с помощью

int arrayWithDefault[] = { 1, 2, 3, 4 }; 

но мне было интересно, есть ли способ инициализировать новый массив таким образом?

+2

Вы должны избегать сырых указателей, владеющих кстати. – Jarod42

+1

Вместо этого вы можете использовать 'std :: vector'. – TartanLlama

+1

'std :: iota (std :: begin (array), std :: end (array), 1);' –

ответ

0

Я бы действительно избегал такого сценария и следовал надлежащей практике. Однако, я был в состоянии сделать подобную задачу с помощью

int *ptr = new int[]{1, 2, 3, 4, 5}; 

и таким образом

ptr[0] = 1 
    . 
    . 
    . 
ptr[4] = 5 
Смежные вопросы