猿问
如何创建一个动态整数数组
如何使用
new
关键字在C ++中创建动态整数数组?
湖上湖
浏览 1399
回答 3
3回答
HUX布斯
int main(){ int size; std::cin >> size; int *array = new int[size]; delete [] array; return 0;}不要忘记为delete您分配的每个数组new。
0
0
0
扬帆大鱼
从C ++ 11开始,有一种安全的替代方法,new[]与delete[]零开销不同,它是std::vector:std::unique_ptr<int[]> array(new int[size]);在C ++ 14中:auto array = std::make_unique<int[]>(size);以上两个都依赖于相同的头文件, #include <memory>
0
0
0
幕布斯6054654
一旦对动态数组提出疑问,您可能不仅希望创建具有可变大小的数组,而且还希望在运行时更改它的大小。这是带有的示例memcpy,您也可以使用memcpy_s或std::copy。取决于编译器,<memory.h>或者<string.h>可能是必需的。使用此功能时,您将分配新的存储区域,将原始存储区域的值复制到该区域,然后释放它们。// create desired array dynamicallysize_t length;length = 100; //for exampleint *array = new int[length];// now let's change is's size - e.g. add 50 new elementssize_t added = 50;int *added_array = new int[added];/* somehow set values to given arrays*/ // add elements to arrayint* temp = new int[length + added];memcpy(temp, array, length * sizeof(int));memcpy(temp + length, added_array, added * sizeof(int));delete[] array;array = temp;您可以使用常数4代替sizeof(int)。
0
0
0
随时随地看视频
慕课网APP
相关分类
C++
typedef入门问题
1 回答
我要回答