inline是C++关键字。
具体内容如下:
在函数声明或定义中,函数返回类型前加上关键字inline,即可以把函数指定为内联函数。这样可以解决一些频繁调用的函数大量消耗栈空间(栈内存)的问题。
关键字inline必须与函数定义放在一起才能使函数成为内联函数,仅仅将inline放在函数声明前面不起任何作用。inline是一种“用于实现”的关键字,而不是一种“用于声明”的关键字。
inline定义格式
一、inline关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义。
表达式形式的宏定义如:
#define ExpressionName(Var1,Var2) ((Var1)+(Var2))*((Var1)-(Var2))
取代这种形式的原因如下:
1.C中使用define这种形式宏定义的原因是因为C语言是一个效率很高的语言,这种宏定义在形式及使用上像一个函数,但它使用预处理器实现,没有了参数压栈,代码生成等一系列的操作。因此,效率很高,这是它在C中被使用的一个主要原因。
2.这种宏定义在形式上类似于一个函数,但在使用它时,仅仅只是做预处理器符号表中的简单替换,因此它不能进行参数有效性的检测,也就不能享受C++编译器严格类型检查的好处,另外它的返回值也不能被强制转换为可转换的合适的类型。
这样,它的使用就存在着一系列的隐患和局限性。
3.在C++中引入了类及类的访问控制,这样,如果一个操作或者说一个表达式涉及到类的保护成员或私有成员,你就不可能使用这种宏定义来实现(因为无法将this指针放在合适的位置)。
4.inline推出的目的,也正是为了取代这种表达式形式的宏定义,它消除了宏定义的缺点,同时又很好地继承了宏定义的优点。
inline翻译成中文是内嵌式。
inline造句如下:
The tool comes with advanced features such as inline imaging and a powerful statistical software.
该工具配备先进功能,如内置影像和强大的统计软件 。
This pragma suppresses the generation of entry code and is useful for inline assembler functions.
这个编译指令抑制入口代码的产生,有益于内嵌汇编函数。
Eudora users may see a file with the extension of.wmz along with the inline file attachment.
Eudora用户可能看到带有扩展名是.wmz沿带内联文件附件文件。
Under the hood sits a 1.4 Liter Inline 4 Cylinder Engine partnered with a 20 kWatt motor.
引擎罩下安放着一台1.4升直列4缸发动机搭配一台20千瓦(相当于27马力)的电动机.
Emacs: When editing the command-line text entered, use the emacs-style inline editor.
emacs
编辑输入的命令行文本时,使用emacs风格的行内编辑器。