以下是引用pangding在2012-7-28 18:13:53的发言:
关于存在栈里的数据,它一定是可写的,这个没法改变。只是编译器会对加了 const 关键字的东西进行审查。任何对之修改的语句,都会产生语法错误,从而保护它的值。但其实你还是可以改动它的值,方法不用我说 有容 自己试试就知道了。
这个 const 只是在语义上保护程序,以免不小心修改逻辑上不能改的值。但不能防止精心设计的修改(即是说并非利用语义,而是在执行过程中修改它)。
关于存在栈里的数据,它一定是可写的,这个没法改变。只是编译器会对加了 const 关键字的东西进行审查。任何对之修改的语句,都会产生语法错误,从而保护它的值。但其实你还是可以改动它的值,方法不用我说 有容 自己试试就知道了。
这个 const 只是在语义上保护程序,以免不小心修改逻辑上不能改的值。但不能防止精心设计的修改(即是说并非利用语义,而是在执行过程中修改它)。
大牛说的对 如果挂上调试器 想改什么就改什么
这个const只不过从编程或者说是编译的层面限制了它不能改