我正在构建一个模板化的标头C++ 11库.正如我所读到的,我应该定义我的成员函数,inline
以保证不会发生翻译单元中多重定义的定义.
这是inline
关键字的明确定义吗?我曾经认为这inline
是与性能相关的事情.我怀疑通过使用inline
就像打开一个后门一样.使用它的任何缺点?还有其他方法吗?
如果您阅读此inline
参考文献,您将看到具有外部链接的函数的属性列表,第二点说:
它在每个翻译单元中具有相同的地址.
这意味着声明一个函数inline
将导致所有翻译单元中只存在该函数的一个实例(即从源文件生成的所有目标文件).
由于只存在一个函数实例,因此不会出现任何多重定义错误.
归档时间: |
|
查看次数: |
129 次 |
最近记录: |