2016-04-03 2 views
0

Для инициализации всех значений 0, мы можем сделатьИнициализировать неиспользуемые значения до 0 ° С ++ массивом

int arr[5] = {0}; 
arr[1]  = 1 // index 1 is 1 all others contains value of 0 

Можно ли сделать что-то подобное с динамически созданным массивом?

int m_size = 5; 
int *one = new int[m_size] 

особенно, когда я перераспределить массив, используя

if(i > m_size){ // i as index 
      int tmp = m_size; 
      while(i > tmp){ 
       tmp*=2; 
      } 
      double *temp = new double[tmp]; 
      memcpy(temp,one,m_size); 
      m_size = tmp; 
      delete[] one; 
      one = temp; 

ответ

2

Вы можете добиться того, что вы хотите, это, как это (скобки в конце):

double *temp = new double[tmp]();

Смежные вопросы