Yan*_*ang 4 c++ static boost warnings header
在编写头库(如Boost)时,可以定义自由浮动(非方法)函数,而不会(1)膨胀生成的二进制文件和(2)产生"未使用"的警告吗?
当我在多个源文件中包含的头文件中定义一个函数时,该头文件又被链接到同一个二进制文件中,链接器会抱怨重新定义.解决这个问题的一种方法是使函数保持静态,但这会在每个翻译单元中重现代码(顺便说一句,链接器可以安全地重复这些吗?).此外,这会触发有关未使用函数的编译器警告.
我试图在Boost中寻找一个自由浮动函数的例子,但我找不到一个.是否包含类(或模板)中的所有内容?
您可以使用inline关键字:
inline void wont_give_linker_errors(void)
{
// ...
}
Run Code Online (Sandbox Code Playgroud)