像这样的int java声明的数组
int a[][]=new int[3][3]工作,但在c ++中不是为什么?请帮帮我,我已经很久没用过c ++所以请帮帮我
在C++中你只想说int a[3][3];.C++不要求使用new声明所有数组和对象.
编辑:对于动态大小,n您不能使用基于堆栈的数组.
可能最好的方法是矢量矢量:
std::vector<std::vector<int> > a;
a.resize(n);
for(int i = 0; i < n; ++i)
{
a[i].resize(n);
}
Run Code Online (Sandbox Code Playgroud)
一般来说,你应该避免在C++中使用数组.虽然有特殊情况他们(几乎)是唯一的选择,但您的首选通常应该是使用std::vector替代品.在这种情况下,你想要的东西变得相当简单:
// vector of 3 ints, each initialized to 0
std::vector<int> init(3, 0);
// vector of three vectors of int, each initialized to the value of 'init':
std::vector<std::vector<int> > a(3, init);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
269 次 |
| 最近记录: |