Cpp-常用技巧 发表于 2021-09-06 更新于 2021-12-16 分类于 Cpp 阅读次数: Valine: 阅读更多 1 形参类型是否需要左右值引用 2 返回类型是否需要左右值引用 3 traits编译期萃取类型信息 3.1 示例1 1234567891011121314#include<iostream>template<typename T>constexpr bool isVoid = false;// 特化template<>inline constexpr bool isVoid<void> = true;int main() { std::cout << std::boolalpha; std::cout << "isVoid<void>=" << isVoid<void> << std::endl; std::cout << "isVoid<int>=" << isVoid<int> << std::endl;}; 3.2 示例2 用std::conditional_t 3.3 标准库中的traits std::is_const_v std::is_reference_v std::is_lvalue_reference_v std::is_rvalue_reference_v std::is_pointer_v …