Possible Duplicate:
Physical constness of a class
在C ++中,关于对象,逻辑常数和物理常数之间有什么区别?
最佳答案
这些不是标准术语,但我认为“物理上恒定”将表示常量对象,而“逻辑上恒定”将表示常量引用或指针。
在第一种情况下,对象被声明为常量Object const object;
,或者是文字常量,例如1
或"hello"
,并且绝不能进行修改。这样做是不确定的行为。可以将对象放置在只读内存中以增强其稳定性。
在第二种情况下,指针或引用被声明为引用常量对象Object const * pointer;
或Object const & reference;
,但是对象本身不一定是常量。不能使用指针或引用来修改对象(除非用const_cast
颠覆),但是如果对象本身不是“物理上”恒定的,则可以通过其他方式对其进行更改。
关于c++ - 逻辑常数和物理常数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5331010/