函数在类中声明并且定义有什么好处跟作用啊?

wangask00 2008-10-06 10:16:18
今天看一个人写的函数代码,把类中函数都在类里面定义而且声明了,请问这样做有什么好处没?
...全文
398 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
qee_wong 2008-10-11
  • 打赏
  • 举报
回复
内联函数inline
提示编译器进行优化
好处就是节省函数调用时间
taodm 2008-10-07
  • 打赏
  • 举报
回复
在类内实现函数的唯一确定好处就是只需要提供一个头文件就全部搞定了,不用再另外提供.cpp什么的。
关于inline的时空互换问题,就不要添乱了。
Big鹏 2008-10-07
  • 打赏
  • 举报
回复

在类中声明定义函数,便是inline函数,内联函数的作用,楼主可以查阅C++资料,都有讲的。
给楼主推荐本;effective c++
AbnormalSubmarine 2008-10-07
  • 打赏
  • 举报
回复
大家都解释的不是很全!

不过楼主把大家的意见都参考一下也就基本上理解了!

然后在自己看看inline方面的解释,就搞定了!

空间换时间也对、和编译器相关也对

比较专业的解释,还是需要楼主自己查阅资料!
ViCross 2008-10-07
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 taodm 的回复:]
在类内实现函数的唯一确定好处就是只需要提供一个头文件就全部搞定了,不用再另外提供.cpp什么的。
关于inline的时空互换问题,就不要添乱了。
[/Quote]
支持
就目前的桌面处理器而言, 关键字"Inline"应该没有什么实际的意义了.
编译期, 编译器会对内联展开进行舍取,
运行期间, 处理器也会对内联展开进行舍取.
ltaoscu 2008-10-06
  • 打赏
  • 举报
回复
chlaws说得非常好,看过你回答的很多问题都不错。类内定义函数确实是默认inline,以空间换时间(调用时)。
biosli 2008-10-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lann64 的回复:]
内类定义的函数,默认inline
[/Quote]

同解
BaihowFF 2008-10-06
  • 打赏
  • 举报
回复
内联函数可以提高效率,适用于短小的函数段
长的话或者有循环,效率会降低,不过也看编译器,有的编译器如果长内联函数就不认为是内联了
aidingbao1019 2008-10-06
  • 打赏
  • 举报
回复
inline函数,在调用时候是展开的,而不是调用,省去了栈的操作,提高了性能,相反如果inline函数定义太长
那么每次调用都要展开,浪费了资源
太乙 2008-10-06
  • 打赏
  • 举报
回复
是指inline么?内联?

speme 2008-10-06
  • 打赏
  • 举报
回复
內聯函數是編譯前處理.沒有實際函數調用的過程.
lann64 2008-10-06
  • 打赏
  • 举报
回复
内类定义的函数,默认inline
leechrockgames 2008-10-06
  • 打赏
  • 举报
回复
内联作用就是调用比较快,但如果函数定义太大,作用就消失了.
chlaws 2008-10-06
  • 打赏
  • 举报
回复
默认加上inline 即内联 提示编译器进行优化
好处就是节省函数调用时间
记着inline 只是提醒而非命令 所以这只是对简单的函数有效
对于有循环结构的函数是没有效果的,有些情况下不能加inline 会造成适得其反的效果。。

65,211

社区成员

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

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