嗨我想初始化一个9号向量,其元素是大小的向量,比如说5.我想将所有元素初始化为零向量.
这种方式是否正确?
vector<double> z(5,0);
vector< vector<double> > diff(9, z);
Run Code Online (Sandbox Code Playgroud)
或者有更短的方法吗?
bdo*_*lan 12
您可以在一行中执行此操作:
vector<vector<double> > diff(9, vector<double>(5));
Run Code Online (Sandbox Code Playgroud)
您可能还想考虑使用boost :: multi_array来实现更高效的存储和访问(避免双指针间接).
你可以把它全部放在一行:
vector<vector<double>> diff(9, vector<double>(5));
Run Code Online (Sandbox Code Playgroud)
这避免了未使用的局部变量.
(在C++之前的11个编译器中,你需要留一个空格,> >
.)
vector< vector<double> > diff(9, std::vector<double>(5, 0));
但是,在编译时已知大小的特定情况下,您可以使用C数组:
double diff[9][5] = { { 0 } };
归档时间: |
|
查看次数: |
19422 次 |
最近记录: |