Код: Выделить всё
#include
int* p_n;
class A
{
public:
A(int val) : n(val)
{
// At this point the compiler does not know if the object is const or not.
p_n = &n;
}
int n;
};
int main()
{
// A::n is const, because A is const, right?
const A a(1);
// but we change a const value here
*p_n = 2;
std::cout < /p>
Отсюда: < /p>
< Blockquote>
const и летучая семантика (7.1.6.1) не применяются на строящемся объекте. Они вступают в силу, когда конструктор для наиболее полученного объекта (1.8) заканчивается.
В то время как объект A Итак, p_n укажите на объект const или нет?
Подробнее здесь: https://stackoverflow.com/questions/794 ... ass-member