C++中const在函数名前面和函数后面的区别
来源:互联网 发布:淘宝店如何 编辑:程序博客网 时间:2024/06/05 02:08
1
2
3
4
5
6
class
Test(){
public
:
Test(){}
const
int
foo(
int
a);
const
int
foo(
int
a)
const
;
};
一、概念
当const在函数名前面的时候修饰的是函数返回值,在函数名后面表示是常成员函数,该函数不能修改对象内的任何成员,只能发生读操作,不能发生写操作。
二、原理:
我们都知道在调用成员函数的时候编译器会将对象自身的地址作为隐藏参数传递给函数,在const成员函数中,既不能改变this所指向的对象,也不能改变this所保存的地址,this的类型是一个指向const类型对象的const指针。
三、Overload时const的作用:
继续使用上面的test类:
1
2
3
4
5
6
7
int
main(
int
argc, _TCHAR* argv[])
{
Test obj;
const
Test obj1;
obj.foo(
3
);
//使用非const函数
obj1.foo(
3
);
//使用const函数
}
在VS中如果对象不是const,则调用非const的函数。
0 0
- C++中const在函数名前面和函数后面的区别
- C++中const在函数名前面和函数后面的区别
- C++中const在函数名前面和函数后面的区别
- C++中const在函数名前面和函数后面的区别
- C++中const在函数名前面和函数后面的区别
- C++中const在函数名前面和函数后面的区别
- C++中const在函数名前面和函数后面的区别
- 函数前面的const和函数后面的const解释
- const的用法,特别是用在函数前面与后面的区别!
- const的用法,特别是用在函数前面与后面的区别
- const的用法,特别是用在函数前面与后面的区别!
- const的用法,特别是用在函数前面与后面的区别!
- const的用法,特别是用在函数前面与后面的区别!
- const的用法,特别是用在函数前面与后面的区别!
- const的用法(用在函数前面与后面的区别)
- const的用法,特别是用在函数前面与后面的区别!
- const的用法,特别是用在函数前面与后面的区别!!!!!!!!!!
- const的用法,特别是用在函数前面与后面的区别!
- 对0到n^3-1区间内的n个整数进行排序
- Linux下关闭JBoss实例
- 开博
- UITableView 学习笔记
- 西藏徒步穷游的女文青们,该醒醒了!
- C++中const在函数名前面和函数后面的区别
- 编写Python脚本来备份文件
- ios 加密本地资源
- Android 通过Socket 和服务器通讯
- Left Join
- 二叉树的创建和遍历
- StandardSession基本概述
- 最长公共子序列
- linux ssh 无密码登陆笔记