inline specifier

来自cppreference.com
< cpp‎ | language

 
 
C++语言
表达式
替代表示
字面量
布尔型 - 整型 - 浮点型
字符型 - 字符串 - nullptr (C++11)
用户定义 (C++11)
Utilities
属性 (C++11)
Types
typedef声明
类型别名声明 (C++11)
Casts
隐式类型转换 - 显示类型转换
static_cast - dynamic_cast
const_cast - reinterpret_cast
内存分配
类特有的函数属性
explicit (C++11)
static
静态成员函数
模板
杂项
 

[编辑] 语法

inline function_declaration

[编辑] 说明

inline关键字是一个提示给编译器进行优化。编译器将忽略此请求的自由.
原文:
The inline keyword is a hint given to the compiler to perform an optimization. The compiler has the freedom to ignore this request.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
如果编译器内联的功能,它取代了每次调用该函数与实际的身体,而不会产生通话.
原文:
If the compiler inlines the function, it replaces every call of that function with the actual body (without generating a call).
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
这避免了额外的开销创建的堆栈上放置数据和检索结果的函数调用(),但它可能会导致一个更大的可执行代码的功能有被重复多次.
原文:
This avoids extra overhead created by the function call (placing data on stack and retrieving the result) but it may result in a larger executable as the code for the function has to be repeated multiple times.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
结果是到函数宏类似
原文:
The result is similar to 函数宏
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
在当前转换单元,函数体必须是可见的.
原文:
The function body must be visible in the current translation unit.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
类体里面定义​​的类的方法被隐式声明为inline..
原文:
Class methods defined inside the class body are implicitly declared inline.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 示例

inline int sum(int a, int b) 
{
    return (a + b);
}
 
int c = sum(1, 4);
// if the compiler inlines the function the compiled code will be the same as writing
int c = 1 + 4;