在函数后面加上const】的更多相关文章

1.现象 在c++类中,有些成员函数在声明时,后面加了const,如 2.作用 ①.提高程序可读性,可以一眼看出此函数不能修改类成员变量: ②.提高程序可靠性,此函数试图修改成员变量时,编译器会通不过…
在看开源代码时,经常会看到在类的成员函数后面加const,之前了没有太关注过,近来闲来无事,就想起这件事,网上查了一下,大概明白了是怎么回事,这里引用CSDN愽文里的段话:“编译器会自动给每一个函数加一个this指针.在一个类的函数后面加上const后,就表明这个函数是不能改变类的成员变量的(加了mutable修饰的除外).实际上,也就是对这个this指针加上了const修饰”.举个例子: class test { public: test(int a=10):aa(a){} ~test(){}…
函数后面加const 编译器会自动给每一个函数加一个this指针.在一个类的函数后面加上const后,就表明这个函数是不能改变类的成员变量的(加了mutable修饰的除外,后面有讲).实际上,也就是对这个this指针加上了const修饰. #include <iostream> using namespace std; class CTest { public: void show() const { cout << "const" << endl;…
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…
本文转自http://www.cnblogs.com/Fancyboy2004/archive/2008/12/23/1360810.html 看到const 关键字,C++程序员首先想到的可能是const 常量.这可不是良好的条件反射.如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮.const 更大的魅力是它可以修饰函数的参数.返回值,甚至函数的定义体. const 是constant 的缩写,“恒定不变”的意思.被const 修饰的东西都受到强制保护,可以预防意外的变动,能…
时间是让人猝不及防的东西,晴是有风阴时有雨,争不过朝夕,又念着往昔,偷走了青丝却留住一个你 #include <iostream> #include <string> using namespace std; class Test { public: string get_name() const // 这个const通常会用在这个类方法函数不修改内容的情况下:如果这个const删掉就会报错 { return "哈哈哈"; }; private: }; void…
如题,在重载<<时不停的报错,说找不到匹配的函数,仔细观察和书上的样例对比后发现,我的第二个参数缺少了一个const,抱着试一试的心态,因为平时也没注意const这个东西,也不经常用,试了一试后发现竟然是const的问题. 然后经过查阅资料后发现<<运输符的第二个参数是必须要加上const的,因为如果需要输出一个东西,是不允许对它进行修改的,为了限制你重载时的使用,必须要加上const才能使用.…
博客转载自: 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…
问题:c++:void display( ) const 中的const是什么意思?简答:意思是除了表明了mutable的成员变量以外该类的其他的成员变量在这个函数内一律不能修改. 详细:加const表明,该函数只能是只读的,不能修改私有变量的值.加强安全性.给隐含的this指针加const,表示这个this指向的东西是const的,也就是说这个函数中无法改动数据成员了.const是一种保证,告诉你这 个成员不会改变对象的状态. 类的成员函数后面加 const,表明这个函数不会对这个类对象的数据…