JAVA 的 final 与 C++ 的 const 的区别?
1. 修饰类
final 可以用来修饰类,代表该类不能被继承,其内部成员函数也就不能被重构。
const 不能够用来修饰类。
2. 修饰函数
- final 修饰函数,代表该函数不能够被重构。
- const 在函数中的运用,主要还是用来修饰变量,比如返回值、参数。
3. 修饰变量
- 修饰变量时,两者基本相同。
- 修饰引用时,c++ 采用指针
const Value* p = new Value()
,该 const 代表着 p 指针不能够再指向别的对象,而非该对象不能修改。这一点与 Java 的 fianl 同样,final Value p = new Value()
,同样不允许发生 p 引用在其他对象。