我总是试图在头文件之外保持实现,所以对于模板和内联函数,我通常会这样做
// File.h
inline bool foo()
#include "File.hpp"
Run Code Online (Sandbox Code Playgroud)
// File.hpp
inline bool foo()
{
return 1;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,C++规范对于为函数的实际实现重复内联关键字有什么作用?(如本例所示)
我真的不想这样做,因为它弄乱了很多很多函数,虽然我的编译器没有抱怨,但我想知道编译器是否仍然接受内联提示.
谁知道?
我倾向于inline尽可能远离接口,因为它是实现细节而不是接口的一部分。inline因此:省略声明中的第一个。并且仅将其附加到函数定义中。对于包含 hpp 编译器范围与内联无关,因为文件被视为串联。另请参阅http://www.parashift.com/c++-faq/where-to-put-inline-keyword.html了解更详细的说明。
| 归档时间: |
|
| 查看次数: |
237 次 |
| 最近记录: |