关于内联函数的一点困惑

2014hehe 2014-10-23 10:32:31
类的成员函数 可以分为隐式内联和显示内联,而又说类的成员函数不在对象中创建副本,是不是说,类的成员函数就是内联函数。求解啊
...全文
126 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
li4c 2014-10-26
  • 打赏
  • 举报
回复
坑爹啊,谁说的啊,谁说成员函数就是内联函数,只有有很简单的并且会被很多次调用的成员函数才被声明为内联函数隐身或显示,楼主要高清楚,不是声明在类体里面的函数就是内联函数,也不是成员函数就是内联函数。
Tamce 2014-10-26
  • 打赏
  • 举报
回复
内联函数相当于编译器会在调用函数的地方插入相应的代码(机器码),或者说是相当于在编译前把每次你调用函数的地方都用你的函数体替换(智能地),在执行的时候不会进行内存中指令的跳转 类成员函数不为对象创建副本,也就是说一个类相应的一个函数在内存中只存在一个,在调用的时候会进行指令的跳转(到函数所在的地址执行),但是这样怎么区分对哪个对象进行操作呢?因为在调用类成员函数时会隐式地传递一个指向对象的指针this指针 这也解释了我用空指针也可以调用到类的成员函数(参见我的问题
猫仔- 2014-10-24
  • 打赏
  • 举报
回复
内联函数的作用:编译器设法以函数体代替函数调用
猫仔- 2014-10-24
  • 打赏
  • 举报
回复
同上。。。。
taodm 2014-10-23
  • 打赏
  • 举报
回复
换一本教材。

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧