从整型转换成浮点型(除非要转换的值是constexpr并且值可以精确地存储在目标类型中) 从一个整型转换成另一个不能表示源类型的所有值的整型(除非要转换的值是constexpr并且其值可以精确地存储在目标类型中)(包括两种情况:宽整型到窄整型的转换、有符号整数转换成到无符号整数或者反过来) 避免使用窄化转换 使用static_...
constexpr std::bitset<8> mask2{ 0b0000'0100 }; // represents bit 2 constexpr std::bitset<8> mask3{ 0b0000'1000 }; // represents bit 3 constexpr std::bitset<8> mask4{ 0b0001'0000 }; // represents bit 4 constexpr std::bitset<8> mask5{ 0b0010'0000 }; // represents bit...
编译时常量(Compile-time constants)用constexpr。符号常量(symbolic constants)用constexpr,而不是 # define 宏。 全局常量用 inline constexpr(c++17及以上)。 “magic numbers”魔幻数字,即代码中多次重复使用的数字,如系数。更改一处,而忘记更改其他地方,产生失误。 为了避免magic numbers,使用# define宏或constex...
编译时常量、常量表达式和 constexpr 4.15 文字 4.16 数字系统(十进制、二进制、十六进制和八进制) 4.17 std::string 简介 4.18 std::string_view 简介 4.x 第四章小结与测验 第5 章 运营商 5.1 运算符优先级和结合性 5.2 算术运算符 5.3 模数和指数 5.4 递增/递减运算符和副作用 5.5 逗号和条件运算符 5...
5.8 Constexpr and consteval functions Updated 5.9 Introduction to std::string 5.10 Introduction to std::string_view 5.11 std::string_view (part 2) 5.x Chapter 5 summary and quiz Updated Chapter 6 Operators 6.1 Operator precedence and associativity 6.2 Arithmetic operators 6.3 Remainder and Exponent...
2.9 Const,constexpr和符号常量 2.10 第2章综合测验 第3章 操作符 3.1运算符优先级和关联性 3.2 算术运算符 3.3递增/递减运算符以及它的副作用 3.4 sizeof,逗号和条件运算符 3.5 关系运算符(比较) 3.6逻辑运算符 3.7 在二进制和十进制之间转换 3.8 按位运算符 ...
master boostpy code-stats coroutine ctypes decorator echo-server learncpp11 Makefile auto_decltype.cpp class.cpp container.cpp initialize.cpp lambda_expr.cpp misc.cpp move_and_forward.cpp new_type_and_keywords.cpp random.cpp regex.cpp smart_pointer.cpp ...
lambda调用的函数必须是constexpr auto解析为的每种不同类型都会对应生成唯一的lambda表达式(因此包含独立的静态局部变量)auto print{ [](auto value) { static int callCount{0}; std::cout << callCount++ << ": " << value << '\n'; } }; print("hello");// 0: hello print("world");// 1...