How to initialize a const int 2-dimension vector:
Const int vector < vector < int > > v ?
v = {1 , 1 ; 1, 0} ?
它无法工作。
How to initialize a const int 2-dimension vector:
Const int vector < vector < int > > v ?
v = {1 , 1 ; 1, 0} ?
它无法工作。
const vector<vector<int>> v{{1,2,3},{4,5,6}};
> >
。由于在C++11中已经修复了此问题,>>
将起作用。它不会被解释为右移运算符(这是C++03的情况)。const vector<vector<int>> v {
{ 1, 2, 3 },
{ 4, 5, 6 }
};
v.push_back(vector<int> { 8, 9, 10 }); // BAD
v[0].push_back(4); // OK
vector<const vector<int>> {
{ 1, 2, 3 },
{ 4, 5, 6 }
};
v.push_back(const vector<int> { 8, 9, 10 }); // OK
v[0].push_back(4); // BAD
如果您希望元素本身是 const
,则应该这样做:
vector<vector<const int>> {
{ 1, 2, 3 },
{ 4, 5, 6 }
};
那么
v.push_back(vector<const int> { 8, 9, 10 }); // OK
v[0].push_back(4); // OK
v[0][0] = 2; // BAD
您可能希望在运行时修改它,因此最好完全删除const
。
using namespace std;
int main(void){
const vector< vector<int> > v(10, vector<int>(10,1));
return 0;
}
将一个10x10的数组初始化为1