Is there a way to statically-initialize a dynamically-allocated array in C++?

前端 未结 6 847
囚心锁ツ
囚心锁ツ 2020-12-03 17:40

In C++, I can statically initialize an array, e.g.:

int a[] = { 1, 2, 3 };

Is there an easy way to initialize a dynamically-allocated array

6条回答
  •  攒了一身酷
    2020-12-03 17:54

    Using helper variable:

    const int p_data[] = {1, 2, 3};
    int* p = (int*)memcpy(new int[3], p_data, sizeof(p_data));
    

    or, one line

    int p_data[] = {1, 2, 3},  *p = (int*)memcpy(new int[3], p_data, sizeof(p_data));
    

提交回复
热议问题