Skip to content

Header only library

C++中如何实现header only library?于此相关的内容有:

1) inline: C-and-C++\specifiers\inline

2) unnamed namespace: C++\Language-reference\Basic-concept\Organization\Namespace

3) linkage: C-and-C++\From-source-code-to-exec\Link\Linkage

4) ODR: C-and-C++\Declaration-and-definition\Definition\ODR

Class definition in header file

这是接着昨天的关于const and linkage而来的,昨天讨论了const variable的linkage,显然在一个头文件中的定义的const variable,是可以被多态其他的translation unit所引用的,这让我想到了类似的问题:header only class,显然在一个header file中定义了一个class,它可以被多个其他的translation unit所引用,那这是否表明class是internal linkage。

Google:c++ header only class and ODR,下面是比较好的解释:

维基百科Header-only 维基百科One Definition Rule ORD和linkage之间的关联?linkage是否