const成员函数(放在函数后面的const是什么意思)

本文目录
放在函数后面的const是什么意思
const就是说这个函数操作不会对变量或是对象之类的值有影响 比如你有一个human类 你现在要得到某个human类对象A的age 那么肯定是不会因为你想得到这个值而改变了age的大小 对吧 那么你就可以写一个函数int getAge()const这样就好 这么做是为了防止你在函数中对不应该在这里改变的量不小心进行了改变。这样的函数叫常成员函数。常成员函数可以理解为是一个“只读”函数,它既不能更改数据成员的值,也不能调用那些能引起数据成员值变化的成员函数,只能调用const成员函数。
const修饰说明它是一个常量,它的值是不能被修改的。没有什么地方是必须要用的,你只要觉得这个数字你不会改变就可以用。一般在函数传递参数中用的比较多,你可以看看C语言的库函数参数中很多都是用const修饰的。
比如字符串拷贝的声明函数char *strcpy(char *dest,const char *src); 后边的形参用了const修饰,在函数定义中src的值就不能被改变,dest的值就可以被改变,也是一种提示的作用说明字符串是从src拷贝到dest中
const成员函数内部可以使用this指针吗
要说详细挺多的,举例子吧:
int
(*add)
(int
a,
int
b);
这里的add就是一个指向带有两个int型参数,返回值为int的函数的指针,也就是你所说的函数指针。
函数返回值,没什么好说的吗,函数是由函数名,形参和返回值组成,返回值就是函数里return后面的东西,如果没有返回值,定义的函数前面就要带有void.
const指针,如
int
a=10;
int
*
const
p=&a
这里p就是const指针,
它意味着不能修改p的值,但是能修改p所指向的值,如p++;//这是错的,*p=10;这是可以的
指向const的指针,
如
int
a=10;int
const
*p=&a
或const
int
*p=&a
它意味着不修改p所指向的值,但能修改p的值,
如:p++;这是可以的。*p=11;这是错误的
指向const的const指针,这个就是上面这情况的综合情况。
定义方式以int
a=10;const
int
*
const
p
=
&a
它意味着地址和所指向的值都不能改变。
希望能帮到你

更多文章:
avantage怎么设置为中文(Avantage安装丢失GIT)
2026年10月15日 03:00
activex控件未注册怎么办(登陆视频监控网页时提示activex控件未注册,怎么解决)
2026年10月14日 20:30
excel连接sql数据库教程(excel怎么连接sql数据库)
2026年10月14日 19:40






