【发布时间】:2021-06-02 04:41:43
【问题描述】:
我认为声明const<vector> 的唯一方法是:
const std::vector<T> v;
【问题讨论】:
标签: c++ vector constants const-correctness
我认为声明const<vector> 的唯一方法是:
const std::vector<T> v;
【问题讨论】:
标签: c++ vector constants const-correctness
const 适用于其左侧的东西,除非左侧没有任何东西,否则它适用于其右侧的东西。
所以,const int a=1; 和 int const a=1; 是相等的。
const int *b 和int const *b 相等(指向常量int),但与int * const b 不同,int * const b 是指向非常量int 的常量指针。
这适用于所有数据类型,我选择int,因为它比std::vector<T> 更容易输入。
【讨论】:
const 向左走”是模棱两可的;它可能意味着“const 适用于其左侧的任何内容”,但它也可能意味着“const 应该写在它应该适用的任何内容的左侧”,这是错误的。最好写“const" applies to the thing to its left”之类的,和right类似。