c++ 在类函数后加const的意义】的更多相关文章

我们定义的类的成员函数中,常常有一些成员函数不改变类的数据成员,也就是说,这些函数是"只读"函数,而有一些函数要修改类数据成员的值.如果把不改变数据成员的函数都加上const关键字进行标识,显然,可提高程序的可读性.其实,它还能提高程序的可靠性,已定义成const的成员函数,一旦企图修改数据成员的值,则编译器按错误处理. const成员函数和const对象 实际上,const成员函数还有另外一项作用,即常量对象相关.对于内置的数据类型,我们可以定义它们的常量,用户自定义的类也一样,可以…
c++中关于const的用法有很多,const既可以修饰变量,也可以函数,不同的环境下,是有不同的含义.今天来讲讲const加在函数前和函数后面的区别.比如: 01 #include<iostream> 02   03 using namespace std; 04   05 // Ahthor:  过往记忆 06 // E-mail:  wyphao.2007@163.com 07 // Blog:    http://www.iteblog.com 08 // 转载请注明出处 09   1…
class Test(){ public: Test(){} const int foo(int a); const int foo(int a) const; }; 一.概念 当const在函数名前面的时候修饰的是函数返回值. 当const在函数名后面表示是常成员函数,该函数不能修改对象内的任何成员,只能发生读操作,不能发生写操作. 二.原理: 我们都知道在调用成员函数的时候编译器会将对象自身的地址作为隐藏参数传递给函数,在const成员函数中,既不能改变this所指向的对象,也不能改变thi…
博客转载自: https://www.iteblog.com/archives/214.html 分析以下一段程序,阐述成员函数后缀const 和 成员函数前const 的作用 #include<iostream> using namespace std; class TestClass { public: size_t length() const; const char* getPContent(); void setLengthValid(bool isLengthValid); pri…
http://blog.csdn.net/gmstart/article/details/7046140 在C++的类定义里面,可以看到类似下面的定义: 01 class List { 02 private: 03      Node * p_head; 04      int length; 05      …… 06 Public: 07      int GetLength () const; 08      bool GetNodeInfo(const int index,Node &…
1.非静态成员函数后面加const(加到非成员函数或静态成员后面会产生编译错误)2.表示成员函数隐含传入的this指针为const指针,决定了在该成员函数中,    任意修改它所在的类的成员的操作都是不允许的(因为隐含了对this指针的const引用):3.唯一的例外是对于mutable修饰的成员.    加了const的成员函数可以被非const对象和const对象调用    但不加const的成员函数只能被非const对象调用   char getData() const{        r…
我们定义的类的成员函数中,常常有一些成员函数不改变类的数据成员,也就是说,这些函数是"只读"函数,而有一些函数要修改类数据成员的值.如果把不改变数据成员的函数都加上const关键字进行标识,显然,可提高程序的可读性.其实,它还能提高程序的可靠性,已定义成const的成员函数,一旦企图修改数据成员的值,则编译器按错误处理. c++ 函数前面和后面 使用const 的作用: 前面使用const 表示返回值为const 后面加 const表示函数不可以修改class的成员 (仅为可读,不可写…
const用在成员函数后 主要是针对类的const 对象 如: class Text{ public:     void printconst(void)const{cout<<"hello"<<endl;}     void print(void){cout<<"hello"<<endl;} private:     int k; }; const Text a; //上面定义了类Text的一常量对象 int mai…
通过把类成员函数声明为const   以表明它们不修改类对象. 任何不会修改数据成员的函数都应该声明为const类型.如果在编写const成员函数时,不慎修改了数据成员,或者调用了其它非const成员函数,编译器将指出错误,这样做的好处是提高程序了的健壮性.…
C++: C++函数声明的时候后面加const 转自:http://blog.csdn.net/zhangss415/article/details/7998123 非静态成员函数后面加const(加到非成员函数或静态成员后面会产生编译错误),表示成员函数隐含传入的this指针为const指针,决定了在该成员函数中,任意修改它所在的类的成员的操作都是不允许的(因为隐含了对this指针的const引用):唯一的例外是对于mutable修饰的成员.加了const的成员函数可以被非const对象和co…