c++ - 关于c++数组的问题

标签 c++

像这样的数组的 int java 声明 int a[][]=new int[3][3] 有效,但在 c++ 中却不行,为什么?请帮助我,我已经很长时间没有使用 C++ 所以请帮助我

最佳答案

在 C++ 中,您只需说 int a[3][3];。 C++ 不要求所有数组和对象都用 new 声明。

编辑: 对于动态大小的 n,您不能使用基于堆栈的数组。

最好的方法可能是 vector 的 vector :

std::vector<std::vector<int> > a;
a.resize(n);
for(int i = 0; i < n; ++i)
{
    a[i].resize(n);
}

关于c++ - 关于c++数组的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3070317/

相关文章:

c++ - 给定 2 个点和从第一个点到我必须找到的点的范围。如何找到我必须找到的点(在3D空间上)

C++ 创建一个类的实例

c++ - 使用 Rcpp 的包编译失败

c++ - 模板实例化错误

c++ - 正确使用cpp中的定义宏替换函数的名称

c++ - 什么是单元测试模板化 C++ 方法/类/函数的好方法?

c++ - 如何动态地从 vector 中删除指向 C++ 中的对象的指针?

c++ - 使用指针查找不平衡括号之间字符的位置

c++ - 使 OpenCV 调整大小与 Matlab/Octave imresize 相同

c++ - '$OutDir'在Visual Studio的脚本文件中定义在哪里?