我最近注意到一些代码示例中的 const 关键字在中间移动(来自受人尊敬的博客网站),像这样:
X(X const& that) { .../... }
X& operator=(X const& other) { .../... }
这等同于这种更熟悉的语法吗?
X(const X& that) { .../... }
X& operator=(const X& other) { .../... }
那样切换“const”的目的是什么?
最佳答案
1) const
放在哪里并不重要:const int & == int const &
2)为什么?是助记规则。
int * const
- 常量指针(const
after *)
int const *
- 指向常量值的指针(const
after int)。
所以,这是为了保持一致性。
关于c++ - 复制ctor和复制赋值运算符const关键字位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34835774/