为了账号安全,请及时绑定邮箱和手机立即绑定

常指针为什么只能调用常成员函数?

C为什么对?上个视频后面常指针调用的get函数不是常成员函数吧?

正在回答

5 回答

上节之所以能调普通函数是因为*const p是指针常量 它不是我们所称的常指针

而我们说的常指针是const *p这种的

0 回复 有任何疑惑可以回复我~

c选项说的是常指针(常量指针),你说的"上个视频后面常指针调用的get函数不是常成员函数吧? 这里的指针是指针常量。

可以参考一下:https://blog.csdn.net/weibo_dm/article/details/80445205

1 回复 有任何疑惑可以回复我~

视频中 point *const p=&coor1;这里只是地址不能改变,但值是可以读写的,而普通函数是可以读写的,所以这种常指针是可以调用普通函数的,只能说题目不严谨


0 回复 有任何疑惑可以回复我~
#1

qq_慕虎1144658

并不,那是因为*const p叫指针常量 而我们说的常指针是const *p 概念问题
2019-03-01 回复 有任何疑惑可以回复我~

对的,const放在*后面,已经不是常指针了,这个指针可以通过它修改所指内存的内容,只是不能指向其他内存

1 回复 有任何疑惑可以回复我~

我也不太懂,会不会是因为视频里调用get时const位置发生变化,已经不再是常指针?只是一个指向固定对象的指针?

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之封装篇(下)
  • 参与学习       70919    人
  • 解答问题       514    个

封装--面向对象三大特征之一,通过案例让C++所学知识融会贯通

进入课程

常指针为什么只能调用常成员函数?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信