c++ inline int
时间: 2023-09-24 16:06:51 浏览: 77
引用<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [C++ inline用法详解](https://blog.csdn.net/weixin_42258743/article/details/108536629)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
相关问题
c++inline使用
在 C++ 中,inline 关键字用于告诉编译器将函数的定义插入到调用该函数的地方,而不是在程序的其他地方进行函数调用。
使用 inline 关键字可以提高函数的执行效率,因为函数调用会带来一定的开销,而通过 inline,编译器会直接将函数的代码插入到调用的地方,从而避免了函数调用的开销。
要使用 inline,只需在函数定义前加上 inline 关键字即可,例如:
```
inline int add(int a, int b) {
return a + b;
}
```
需要注意的是,inline 只是向编译器发出了一个建议,是否将函数实现内联仍然由编译器决定。一般来说,只有在函数代码比较简单、函数调用频繁、需要高效率的情况下才适合使用 inline。
inline int __attribute__((always_inline)) fun()
`__attribute__((always_inline))` 是一种特殊的语法,用于告诉编译器无论什么情况下都要将函数内联展开。
在你提供的代码中,`inline int __attribute__((always_inline)) fun()` 是一个函数声明,它声明了一个名为 `fun` 的函数,返回类型为 `int`,并使用了 `__attribute__((always_inline))` 来指示编译器始终将该函数内联展开。
这种语法通常用于强制编译器在任何情况下都将函数内联展开,而不考虑编译器的内联展开策略和限制。请注意,`__attribute__((always_inline))` 是特定于某些编译器的语法,不是标准的 C/C++ 语法。
需要注意的是,尽管使用了 `__attribute__((always_inline))`,编译器仍然有权选择是否真正将函数内联展开。编译器可能会在一些特殊情况下(例如递归调用、函数体过大等)选择不进行内联展开。
另外,由于你只提供了函数声明而没有提供函数定义的部分,无法确定函数体内部的具体实现。若需要具体执行过程,请提供函数定义的相关代码。
阅读全文