Fab*_*ger 3 c++ arrays delete-operator
当我有一个像这样的数组时:
int* test = new int[50];
for (int i = 0; i < 50; i++)
{
test[i] = dist4(rng);
}
Run Code Online (Sandbox Code Playgroud)
(填充随机数用于测试)
我可以这样释放内存:
delete[] test;
Run Code Online (Sandbox Code Playgroud)
但是当我像这样声明数组时:
int test[50];
for (int i = 0; i < 50; i++)
{
test[i] = dist4(rng);
}
Run Code Online (Sandbox Code Playgroud)
我无法使用delete或delete[]释放内存。
这里释放内存的正确方法是什么?
“dist4”函数只是一个随机数生成器:
random_device dev;
mt19937 rng(dev());
uniform_int_distribution<mt19937::result_type> dist4(1,4); // distribution in range [1, 4]
Run Code Online (Sandbox Code Playgroud)