Const用法
1 Const指针
Const char* p ;//表示指针指向常量
Char* const p;//表示指针本身是常量
Const char* const p;//指针和指针指向的都是常量
Void f1(const Widget* pw);//pw是指向常量的widget对象
Void f1(Widget const* pw);//同上
注意:上面两种写法不相同,意义一样。
Typedef可能会带来意想不到的结果,需要注意:
Typedef string* pstring;
Const pstring ps;//其实,这个const是用来修饰pstring的,这个声明等价于pstring const ps,指的是指向const常量的指针。
2 Const函数
两个函数如果只是const特性不同,可以被重载。如:
Const char& operator[](std::size_tposition) const;//操作const对象
Char& operator[](std::size_t position);//操作non-const对象
第一个函数可用于const引用做形参的函数中形参的操作,其中第一个const表示返回类型是const,第二个const表示函数对const对象进行操作。
Void func(const WiepTlmTransfer& _tran){
Cout<< const_cast< WiepTlmTransfer&>(_trans).summary()<<endl;
}
Ostringstream summary() const {
}