Мне любопытно, почему члены 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
Есть идеи?