问题补充:
我想要强调的是为什么指针P和&num是相同的,但*p却和num不同,同一个地址怎么会有不同的两个值
回答:
通常C++是不为const分配存储空间的!
而是把定义保存在符号表里。而且,进符号表时就被初始化了,此例中,符号 num 的值永远只会是 1。
使用指针(取地址)则是强制分配空间!但得到的和之前的const已经不是一回事。因为虽然强制分配了空间,但程序中的const仍用符号表里的。
C++够灵活吧!