打印

inline问题

[复制链接]
713|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pkat|  楼主 | 2013-7-30 14:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有些书上说,inline要放在函数的声明处,有些则说,inline要放在函数的定义处,有些书还说,inline要放在函数的声明和定义处,C++ primere则一会说,要放在声明处,一会又说,要放在定义处,哪个对?内联函数怎么这么错乱。

相关帖子

沙发
xsgy123| | 2013-7-30 14:45 | 只看该作者
内联函数的声明和定义通常都是写在一起的.

使用特权

评论回复
板凳
火箭球迷| | 2013-7-30 14:57 | 只看该作者
内联函数需要在定义上上写,并不需要在声明上写

使用特权

评论回复
地板
秋天落叶| | 2013-7-30 15:09 | 只看该作者
inline 函数对编译器而言必须是可见的,以便它能够在调用点内展开该函数。与非inline函数不同的是,inline函数必须在调用该函数的每个文本文件中定义。当然,对于同一程序的不同文件,如果inline函数出现的话,其定义必须相同。对于由两个文件compute.C和draw.C构成的程序来说,程序员不能定义这样的min()函数,它在compute.C中指一件事情,而在draw.C中指另外一件事情。如果两个定义不相同,程序将会有未定义的行为:

      为保证不会发生这样的事情,建议把inline函数的定义放到头文件中。在每个调用该inline函数的文件中包含该头文件。这种方法保证对每个inline函数只有一个定义,且程序员无需复制代码,并且不可能在程序的生命期中引起无意的不匹配的事情。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

196

主题

2726

帖子

0

粉丝