首页 > 编程语言 >C++ 类型特征(Type Traits)

C++ 类型特征(Type Traits)

时间:2024-04-11 14:55:23浏览次数:26  
标签:std 11 检查 value Traits C++ 类型 Type

 

分类类型特征描述C++标准_v写法
基本类型特性检查      std::is_same<T1, T2>::value 检查两个类型是否相同 C++11 std::is_same_v<T1, T2>
std::is_integral<T>::value 检查T是否为整数类型 C++11 std::is_integral_v<T>
std::is_floating_point<T>::value 检查T是否为浮点类型 C++11 std::is_floating_point_v<T>
std::is_array<T>::value 检查T是否为数组类型 C++11 std::is_array_v<T>
std::is_pointer<T>::value 检查T是否为指针类型 C++11 std::is_pointer_v<T>
std::is_void<T>::value 检查T是否为void类型 C++11 std::is_void_v<T>
类型属性检查    std::is_const<T>::value 检查T是否为常量类型 C++11 std::is_const_v<T>
std::is_volatile<T>::value 检查T是否为易变类型 C++11 std::is_volatile_v<T>
std::is_signed<T>::value 检查T是否为有符号类型 C++11 std::is_signed_v<T>
std::is_unsigned<T>::value 检查T是否为无符号类型 C++11 std::is_unsigned_v<T>
类型修改       std::add_const<T> 为类型T添加const修饰符 C++11 -
std::remove_const<T> 从类型T中移除const修饰符 C++11 -
std::add_volatile<T> 为类型T添加volatile修饰符 C++11 -
std::remove_volatile<T> 从类型T中移除volatile修饰符 C++11 -
std::add_pointer<T> 为类型T添加指针 C++11 -
std::remove_pointer<T> 从类型T中移除指针 C++11 -
std::remove_reference<T> 从类型T中移除引用修饰符 C++11 -
关系检查  std::is_base_of<Base, Derived>::value 检查Base是否是Derived的基类 C++11 std::is_base_of_v<Base, Derived>
std::is_convertible<From, To>::value 检查类型From是否可以转换为类型To C++11 std::is_convertible_v<From, To>
复合类型特性  std::tuple_size<T>::value 获取元组T的大小 C++11 std::tuple_size_v<T>
std::tuple_element<I, T>::type 获取元组T中第I个元素的类型 C++11 -
高级特性    std::void_t<Ts...> 用于推导void类型 C++17 -
std::conjunction<Bs...>::value 检查多个布尔类型特征的逻辑与 C++17 -
std::disjunction<Bs...>::value 检查多个布尔类型特征的逻辑或 C++17 -
std::negation<B>::value 检查布尔类型特征的逻辑非 C++17 -

 

标签:std,11,检查,value,Traits,C++,类型,Type
From: https://www.cnblogs.com/fchy822/p/18129194

相关文章

  • 候捷C++深入学习
    C++进阶学习头文件的防卫式声明#ifndefMYCLASS#defineMYCLASSHeaderfilecontent#endif成员函数的保护如果输入参数采用“值传递”,由于函数将自动产生临时变量用于复制该参数,该输入参数本来就无需保护,所以不要加const修饰。例如不要将函数voidFunc1(intx)写成......
  • TypeError: Cancel() takes 0 positional arguments but 1 was given 的一种原因
    python非静态成员函数在自定义python类中,使用pycharm作为IDE,其补全功能会自动为类内的function创建self作为函数的第一参数。一些普通的IDE或者没有专门设置的IDE不会为类内的方法添加self作为第一参数,因此需要coder们自行添加。除非是静态函数不需要self作为参数。如......
  • 木棒(c++实现)
    题目乔治拿来一组等长的木棒,将它们随机地砍断,使得每一节木棍的长度都不超过50个长度单位。然后他又想把这些木棍恢复到为裁截前的状态,但忘记了初始时有多少木棒以及木棒的初始长度。请你设计一个程序,帮助乔治计算木棒的可能最小长度。每一节木棍的长度都用大于零的整......
  • 【C++】gcd函数的写法
    ......
  • 52 Things: Number 1 : Different Types of Processors
    52Things:Number1:DifferentTypesofProcessors52件事:数字1:不同类型的处理器Thisisthefirstinaseriesofblogpoststoaddressthelistof '52ThingsEveryPhDStudentShouldKnow' todoCryptography.Thesetofquestionshasbeencompiledt......
  • 【华为OD】2024年华为OD机试C卷真题集:最新的真题集题库 C/C++/Java/python/JavaScript
    【华为OD】2024年C卷真题集:最新的真题集题库C/C++/Java/python/JavaScript【华为OD】2024年C卷真题集:最新的真题集题库C/C++/Java/python/JavaScript-CSDN博客华为OD机试2024年C卷真题题集题库,有2种分数的题目列表,分别是100分的列表、200分的列表需要订阅请看链接:C卷100......
  • Typescript 详细总结1
    基本数据类型类型注释:numberlet num:number=5//数字类型let str:string='str'//字符串类型let boolen:boolean =true//布尔 类型断言,确定类型后,不能赋其他类型值any类型let  anything:any='ssssss'let  anything:any=223any类型......
  • 【C++】深入理解 C++ 中的 auto 关键字
    深入理解C++中的auto关键字1.概念2.用法2.1基本用法2.2结合复杂类型2.3函数返回类型推导2.4使用auto处理复杂类型3.注意事项4.适用场景在C++11标准中引入了auto关键字,它是一项强大的特性,可以大大简化代码的书写,同时提高代码的可读性和灵活性。......
  • 【C++】C++入门
    C++入门什么是缺省参数?缺省参数的语法示例:使用缺省参数注意事项什么是函数重载?函数重载的语法示例:使用函数重载注意事项什么是引用?引用的语法引用的特点示例:使用引用注意事项什么是内联函数?内联函数的优势内联函数的语法示例:使用内联函数注意事项什么是缺省参数......
  • 在远程windows上调试Cmake项目 C++
    记录一下CMake项目MSVC编译器远程调试方法参考资料  教程:在远程Windows计算机上调试CMake项目|MicrosoftLearn1.使用VS打开cmake项目2.右键main.cpp文件,添加调试配置选择C++ 3.会打开一个launch.vs.json文件 配置一下 注意:远程机器那里写需要运行的机器号 ......