1.C++不一定为const分配内存,除非使用extern或取地址。不分配地址的话,存放在符号表中。使用extern或取地址的话存放在.rodata
2.C一定会为const分配内存:全局const分配在.rodata段(只读数据段),局部const分配在栈中。
3.可通过指针修改局部const,不能通过指针修改全局const,因为.rodata段保护。
那么在c++中:为什么(※)p输出200?而m_B输出20呢?p既然存放m_B的地址,那么(※)p不就是改变m_B的值么?
原因: