__forceinline和内联用法
__forceinline and inline usage
本文关键字:用法 forceinline 更新时间:2023-10-16
使用__forceinline或类内线时,我必须在MSVC中包含标头文件内部的定义吗?我听到了对此的不同意见,这些意见因不同的编译器而有所不同。
示例1:
//some_class.hpp
class some_class
{
public:
__forceinline void some_function();
inline void other_function();
};
//some_class.cpp
void some_class::some_function() { }
void some_class::other_function() { }
示例2:
//some_class.hpp
class some_class
{
public:
__forceinline void some_function() { }
inline void other_function() { }
};
在.cpp文件中,在MSVC中留下函数定义会导致 unresolved external symbol
链接时链接if function先前已明确声明为 inline
, __inline
或 __forceinline
。因此,我想一个人必须将功能定义放入标题。这是有道理的,因为为了实际内联功能,它的主体必须可用于编译器。
相关文章:
- 这个指针在c++中的用法
- 当C++中需要自动删除时,这是静态的正确用法吗?
- libstdc++ 文件系统中未初始化的用法?
- 复制和交换习惯用法与移动操作之间的交互
- 类作用域的类型别名"using":[何时]方法中的用法可以先于类型别名?
- 命名参数习惯用法和(抽象)基类
- 省略号在C++中的所有用法
- () 在 C++ 11 中的特殊而奇怪的用法?
- 构造函数的用法
- 模板类中自动的类用法不完整
- 这里的 = 运算符有什么用法?
- 什么模板用法在阶乘中更好
- 如果可变长度元素的constexpr用法得到<>
- 为什么 setjmp/longjmp 的这种用法是未定义的行为?
- 访问提升:shared_ptr 主范围外崩溃,断言失败:px != 0.指针的正确用法是什么?
- C++ 中函数中 Const 用法之间的差异
- equal_to模板类C++用法
- PCL 中的 GICP 用法
- 向量的正确用法<int>::size_type
- C++命名空间的基本用法