我是C++的新手,目前正在自己学习一本书.这本书似乎说有几种数组取决于你如何声明它.我想动态数组和静态数组之间的区别对我来说很清楚.但我不明白STL std::array类和静态数组之间的区别.
STL std::array变量声明为:
std::array < int, arraySize > array1;
Run Code Online (Sandbox Code Playgroud)
而静态数组变量声明为:
int array1[arraySize];
Run Code Online (Sandbox Code Playgroud)
这两者之间有根本的区别吗?或者它只是语法而两者基本相同?
我是C++的新手,我正在尝试使用指向指针的指针来构建一个三维数组.我确信这样做有更有效的方法,但我正在努力理解指针.
作为示例代码,我最初有以下部分,它工作正常,分配,初始化和释放内存.
void builder(int aSize1, int aSize2, int aSize3)
{
int i1, i2, i3;
int ***frequencies;
cout << "allocation started ..." << endl;
frequencies = new int** [aSize1+1];
for (i1=0; i1<=aSize1; i1++){
frequencies[i1] = new int*[aSize2+1];
for (i2 = 0; i2 <= aSize2; i2++)
{
frequencies[i1][i2] = new int [aSize3 + 1];
}
}
cout << "allocation done" << endl;
cout << " " << endl;
cout << "before initialization" << endl;
for (i1=0; i1<=aSize1; i1++){
for(i2=0; i2<=aSize2; i2++){
for(i3 …Run Code Online (Sandbox Code Playgroud)