首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于 inline 的一些有关问题

2012-03-07 
关于 inline 的一些问题我是个初学者,在另一个帖子上看见一位前辈说C++中没有什么内联函数,他说从来没见过

关于 inline 的一些问题
我是个初学者,在另一个帖子上看见一位前辈说   C++   中没有什么内联函数,他说从来没见过   inline   这个关键字,我有些迷糊,我想请问   C++   到底有   inline   这个关键字吗?如果有,请教一下用   inline   的好处,这个关键字在实际编程中常用么?在什么情况下使用?

[解决办法]
inline还是有用的,编译的时候直接展开,如果某个函数需要被大量调用,用inline可以节省函数调用的开销
[解决办法]
怎么能没有呢?你那个原贴好象没有说没有啊?
inline函数是在编译时直接进行代码扩展,和宏有一点像,避免了调用函数的效率开销.但如果inline函数代码量大的话则会引起代码膨胀.因此一般把短小常用的函数声明为inline
[解决办法]
1、inline关键字是存在的。
2、inline主要作用的是:增加代码的执行效率,但编译后的可执行文件会变得比较大。这个是因为声明为inline的函数,编译器把这个方法或函数体直接插入到代码中方法或函数调用的所在位置。
3、inline函数也不能滥用1)inline函数中的代码长度不能过多,如果这样,生成的可执行文件会很大2)inline函数是否能真正成为内联函数,起到内联函数的作用,这个是由编译器来决定的。也就是说即使有些函数自己写成内联,编译器也可能不用。
4、inline是更安全的#define宏的版本。
[解决办法]
inline关键字存在


inline作用 增加代码的执行效率,但编译后的可执行文件会变得比较大。

因为声明为inline的函数,编译器把这个方法或函数体直接插入到代码中方法或函数调用的所在位置

inline函数不能使用的地方 inline函数中的代码长度不能过多

inline函数是否能真正成为内联函数,起到内联函数的作用,这个是由编译器来决定的。也就是说即使有些函数自己写成内联,编译器也可能不用


[解决办法]
inline 关键字的作用是,声明内联函数.
他用于修饰类定义外面的函数,结里是和类内定义的函数同效.都是在调用它的时候直接将此函数代码插入调用去,而不是通过一般的函数调用.
[解决办法]
汗,楼主说的不会是我吧。

一、这个概念确实存在,但是于程序本身并无妨碍。
二、这个概念的本意是让人放开手脚去写短小的函数,倘若因此而变得小气,处处担心函数有没有被内联,那么此概念不要也罢。
三、不要使用inline关键字。inline的时机应该由编译器决定,而不是程序员。而且这个关键字只是一个建议(如register),编译器完全可以忽略。

总之,按好的风格去写设计代码就是了,忘掉inline,尤其是当inline带给你犹豫的时候。

当然,能理解编译器的优化能力也是好事。

热点排行