const在星号左边表示被指物是常量,在星号右边说明指针自身是常量,在两边说明两者都是常量。
const vector::iterator iter类似const T* 即迭代器不可改变,所指之物可以改变。
vector::const_iterator 类似T* const 即迭代器可以改变,所指之物不可改变。
const在函数前,修饰返回值时,表示返回值是const的,可以防止手误打错为(a * b) = c;
const成员函数和非const成员函数可以重载,根据对象是不是const类型。
mutable可以释放掉non-static成员变量的bitwise constness约束(在const成员函数内也可改变)。
可以用non-const函数调用const函数以避免代码重复(可能大部分内容相同),需要做两次类型转换,先用static_const把*this转化为const类型,再用const_cast转化为非const类型。
本文详细解析了C++中const修饰符的作用与用法,包括其在指针、迭代器及函数中的应用,以及mutable关键字如何影响const性。通过实例说明了const在不同上下文中的含义,帮助读者理解其在代码中的正确使用。
1071

被折叠的 条评论
为什么被折叠?



