【发布时间】:2018-09-06 15:11:47
【问题描述】:
我很好奇为什么可以在构造函数中修改 const 成员。
初始化中是否有任何标准规则可以覆盖成员的“常量”?
struct Bar {
const int b = 5; // default member initialization
Bar(int c):b(c) {}
};
Bar *b = new Bar(2); // Problem: Bar::b is modified to 2
// was expecting it to be an error
有什么想法吗?
【问题讨论】:
-
...您还能如何将值分配给
const成员...?另外,关于其他 cmets,所以离题很痛苦。
标签: c++ c++11 initialization c++14 constants