
类型修改
文章平均质量分 58
C++标准库模板(STL)- 杂项变换 - 类型修改
繁星璀璨G
单身,求对象
展开
-
C++标准模板(STL)- 类型支持 (类型修改,移除给定数组类型的所有维度,std::remove_all_extents)
若 T 是某类型 X 的多维数组,则提供等于 X 的成员 typedef type ,否则 type 为 T 。原创 2023-12-01 08:30:00 · 400 阅读 · 0 评论 -
C++标准模板(STL)- 类型支持 (类型修改,从给定数组类型移除一个维度,std::remove_extent)
若 T 是某类型 X 的数组,则提供等于 X 的成员 typedef type ,否则 type 为 T 。注意若 T 是多维数组,则只移除第一维。原创 2023-11-30 08:30:00 · 508 阅读 · 0 评论 -
C++标准模板(STL)- 类型支持 (类型修改,使给定的整型类型无符号,std::make_unsigned)
若 T 是整数(除 bool )或枚举类型,则提供成员 typedef type ,它是对应 T 的拥有相同 cv 限定符的无符号整数类型。对应枚举类型的无符号整数类型是拥有最小级别和与枚举相同的 sizeof 的无符号整数类型。否则,行为未定义。原创 2023-11-29 08:30:00 · 461 阅读 · 0 评论 -
C++标准模板(STL)- 类型支持 (类型修改,使给定的整型类型有符号,std::make_signed)
若 T 是整数(除 bool )或枚举类型,则提供是对应 T 的有符号整数类型的成员 typedef type ,它拥有相同的 cv 限定符。否则,行为未定义。原创 2023-11-28 08:30:00 · 463 阅读 · 0 评论 -
C++标准模板(STL)- 类型支持 (类型修改,对给定类型添加一层指针,std::add_pointer)
若 T 为引用类型,则提供成员 typedef type ,其为指向被引用类型的指针。否则,若 T 指名对象类型、无 cv 或引用限定的函数类型或(可有 cv 限定的) void 类型,则提供成员 typedef type ,其为类型 T* 。否则(若 T 为 cv 或引用限定的函数类型),提供成员 typedef type ,其为类型 T 。原创 2023-11-27 08:30:00 · 515 阅读 · 0 评论 -
C++标准模板(STL)- 类型支持 (类型修改,移除给定类型的一层指针,std::remove_pointer)
提供成员 typedef type ,其为 T 所指向的类型,或若 T 不是指针,则 type 与 T 相同。原创 2023-11-26 08:30:00 · 867 阅读 · 0 评论 -
C++标准模板(STL)- 类型支持 (类型修改,从给定类型移除引用,std::remove_reference)
若类型 T 为引用类型,则提供成员 typedef type ,其为 T 所引用的类型。否则 type 为 T 。原创 2023-11-24 08:30:00 · 529 阅读 · 0 评论 -
C++标准模板(STL)- 类型支持 (类型修改,添加 const 或/与 volatile 限定符到给定类型,std::add_cv)
提供同 T 的成员 typedef type ,除了它拥有添加的 cv 限定符(除非 T 是函数、引用或已拥有 cv 限定符)。1) 添加 const 和 volatile2) 添加 const3) 添加 volatile原创 2023-11-23 08:30:00 · 143 阅读 · 0 评论 -
C++标准模板(STL)- 类型支持 (类型修改,从给定类型移除 const 或/与 volatile 限定符,std::remove_cv)
提供与 T 相同的成员 typedef type ,除了其最顶层 cv 限定符被移除。1) 移除最顶层 const 、最顶层 volatile 或两者,若存在。2) 移除最顶层 const3) 移除最顶层 volatile原创 2023-11-22 08:30:00 · 220 阅读 · 0 评论 -
C++标准模板(STL)- 类型支持 (类型关系,检查是否能转换一个类型为另一类型,std::is_convertible)
1) 若虚构函数定义 To test() { return std::declval(); } 为良式,(即 std::declval() 能用隐式转换转换为 To ,或 From 和 To 均为可有 cv 限定的 void ),则提供等于 true 的成员常量 value 。否则 value 为 false 。为此检查的目的,不认为 return 语句中的 std::declval 是 odr 使用。原创 2023-11-21 08:30:00 · 189 阅读 · 0 评论 -
C++标准模板(STL)- 类型支持 (类型关系,检查一个类型是否派生自另一个类型,std::is_base_of)
若 Derived 派生自 Base 或为同一非联合类(均忽略 cv 限定),则提供等于 true 的成员常量 value 。否则 value 为 false 。若 Base 和 Derived 都是非联合类类型,且它们不是同一类型(忽略 cv 限定),则 Derived 应是完整类型;否则行为未定义。原创 2023-11-20 08:30:00 · 242 阅读 · 0 评论 -
C++标准模板(STL)- 类型支持 (类型关系,检查两个类型是否相同,std::is_same)
若 T 与 U 指名同一类型(考虑 const/volatile 限定),则提供等于 true 的成员常量 value 。否则 value 为 false 。满足交换律,即对于任何二个类型 T 与 U , is_same::value == true 当且仅当 is_same::value == true 。原创 2023-11-19 08:30:00 · 383 阅读 · 0 评论