所以,我有以下内容:
std::vector< std::vector <int> > fog;
Run Code Online (Sandbox Code Playgroud)
我非常天真地初始化它:
for(int i=0; i<A_NUMBER; i++)
{
std::vector <int> fogRow;
for(int j=0; j<OTHER_NUMBER; j++)
{
fogRow.push_back( 0 );
}
fog.push_back(fogRow);
}
Run Code Online (Sandbox Code Playgroud)
感觉非常错误......有没有另一种方法来初始化这样的矢量?
例如,我不能这样写:
class A
{
vector<int> v(12, 1);
};
Run Code Online (Sandbox Code Playgroud)
我只能写这个:
class A
{
vector<int> v1{ 12, 1 };
vector<int> v2 = vector<int>(12, 1);
};
Run Code Online (Sandbox Code Playgroud)
对C++ 11语言设计的差异有何考虑?