这两者有什么区别?当您需要固定大小的常量值数组时,您更喜欢哪一个?
const boost::array<int, 2> x = {0, 1};
boost::array<const int, 2> y = {0, 1};
Run Code Online (Sandbox Code Playgroud)
谢谢.
第二个将阻止您将其复制到新的非const数组
boost::array<const int, 2> y = {0, 1};
boost::array<int, 2> y1 = y; // error!
Run Code Online (Sandbox Code Playgroud)
由于我希望这可以工作,我可能会选择第一个选项.将第二个传递给期望a的模板boost::array<T, N>将阻止这些模板修改其参数(即使它是副本).第一个将"正常工作",因为参数将具有类型boost::array<int, 2>.
| 归档时间: |
|
| 查看次数: |
486 次 |
| 最近记录: |