T1 类型的左值可以通过 const_cast<T2&> 显式转换成类型 T2 的左值。 T1 类型的泛左值可以通过 const_cast<T2&&> 显式转换成类型 T2 的亡值。 如果T1 是类类型,那么 T1 类型的纯右值可以通过 const_cast<T2&&> 显式转换成类型 T2 的亡值。 作为结果的引用会指代原来的对象。 (C++17 前) 如果表...
const_cast 添加或移除 cv 限定符 reinterpret_cast 转换类型到无关类型 C 风格转换 以static_cast、const_cast 及reinterpret_cast 的混合转换一个类型到另一类型 new 创建有动态存储期的对象 delete 销毁先前由 new 表达式创建的对象,并释放其所拥有的内存区域 sizeof 查询类型的大小 sizeof... 查询形参包的大...
constexpr cast from void* P2738R1 14 17 DR20: On the ignorability of standard attributes P2552R3 Yes DR11: Static storage for braced initializers P2752R3 14 User-generated static_assert messages P2741R3 14 17 Placeholder variables with no name P2169R4 14 18 Pack indexing P2662R3 ...
Thevalue categoryof the cast expression is always non-lvalue. Notes Becauseconst,volatile,restrict, and_Atomicqualifiers have effect onlvaluesonly, a cast to a cvr-qualified or atomic type is exactly equivalent to the cast to the corresponding unqualified type. ...
(不是class也不是数组的纯右值不能声明为const, volatile, const-volatile) A prvalue cannot have incomplete type (except for type void, see below, or when used in decltype specifier). (纯右值不能是不完整类型) 总结: 纯右值是传统右值的一部分,纯右值是表达式产生的中间值,不能取地址。
C/C++ Keywords asm 插入一个汇编指令. auto 声明一个本地变量. bool 声明一个布尔型变量. break 结束一个循环. case 一个switch语句的一部分. catch …
语句.一个属于const对象的mutable 成员可以被修改. namespace name { declaration-list; } 关键字namespace允许你创建一个新的空间.名字由你选择,忽略创建没有命名的名字空间.一旦你创建了一个名字空间,你必须明确地说明它或者用关键字using. 例如: new
6) 强转为“对象的右值引用”表达式,比如,static_cast<char&&>(x)。 x值表达式的属性[properties]: 1) 拥有右值[rvalue]表达式的所有属性。 2) 拥有左值[glvalue]表达式的所有属性。 [注] 类似于纯右值,x值绑定右值引用,但不同的是,x值可能是多态的[polymorphic],并且非类[non-class]的x值可能被const或...
string_view// pass to `const std::string&` parameterprintS(s);// ok: inexpensive bind to std::string argumentprintS(sv);// compile error: cannot implicit convert std::string_view to std::stringprintS(static_cast<std::string>(sv));// bad: expensive creation of std::string temporary...
Don't useconst_castto cast awayconst.const_castis not required; constness or volatility is not being removed by this conversion. SeeC++ Core Guidelines Type.3. C26466 NO_STATIC_DOWNCAST_POLYMORPHIC Don't usestatic_castdowncasts. A cast from a polymorphic type should use dynamic_cast. SeeC++...