最近在看标准库里的type_traits
的时候发现了个有趣的地方,几乎所有在标准库里的变量模板都是inline的!
不仅常见的实现上(libstdc++、libc++、ms stl)都是inline的,标准里给的形式定义也是inline的。
比如微软开源的stl实现:STL/type_traits at main · microsoft/STL · GitHub
_EXPORT_STD template |
|
_INLINE_VAR constexpr bool negation_v = negation<_Trait>::value; |
|
_EXPORT_STD template |
|
_INLINE_VAR constexpr bool is_void_v = is_same_v |
其中_INLINE_VAR
这个宏的实现在