gpt4 book ai didi

c++ - __forceinline 和内联用法

转载 作者:行者123 更新时间:2023-11-28 05:10:40 28 4
gpt4 key购买 nike

在类内部使用 __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() { }
};

最佳答案

在 MSVC 中,在 .cpp 文件中保留函数定义会导致 unresolved external symbol 错误,如果函数先前被显式声明为 inline__inline__forceinline。所以我想必须将函数定义放入标题中。这是有道理的,因为为了实际内联函数,它的主体必须可供编译器使用。

关于c++ - __forceinline 和内联用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43576801/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com