(1)源代码如下:
经简单代码测试后,得出 vs2019 的 c++ 编译器 和 其 STL 库的观点与设计:is_const_v 用来判断类型 T 内是否含有 const 修饰符,含有 const 则返回真。但若 T 是含有 const 的引用类型,或含有 const 的函数类型,则仍然返回假。这是俩特例,可以被 is_function_v 用来筛选函数类型。 给函数类型加上 const 修饰,感觉语义上无法理解,但编译并不报错。所以 STL 库对函数类型的筛选不是通过定义,是通过间接的排除法。
测试如下:
还有:
以及:
以及:
谢谢