Skip to content

Commit f76a180

Browse files
committed
add note of charpter 28
1 parent 425a74f commit f76a180

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

_posts/2024-10-01-现代C++语言核心特性解析.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -481,3 +481,11 @@ consteval声明立即函数,要求必须在编译期执行计算。
481481
constinit用于具有静态存储持续时间的变量声明。
482482

483483
std::is_constant_evaluated 可以检查当前表达式是否是一个常量求值环境。
484+
485+
## 确定的表达式求值顺序(C++17)
486+
487+
C++17之前没有确定的表达式求值顺序。
488+
489+
C++17开始函数表达式一定会在参数之前求值,但是参数之间的求值顺序仍然没有确定。因此在函数的参数列表中,尽可能少地修改共享的对象,否则会很难确认实参地真实值。
490+
491+
对于后缀表达式和移位操作符,表达式求值总是从左往右。赋值表达式求值总是从右向左。new 表达式中,内存分配总是优先于构造函数参数的求值。

0 commit comments

Comments
 (0)