小编use*_*894的帖子

C++ 11中的安全短路评估

Pre-C++ 11我们知道运营商需要短路和评估顺序,&&因为:

1.9.18

在评估以下表达式时

a && b
a || b
a ? b : c
a , b
Run Code Online (Sandbox Code Playgroud)

使用这些表达式中运算符的内置含义,在评估第一个表达式(12)之后有一个序列点.

但是C++ 11中不再存在序列点,因此标准部分在哪里说:

if (ptr && ptr->do_something())
{
}
Run Code Online (Sandbox Code Playgroud)

是安全的?

c++ short-circuiting sequence-points c++11

7
推荐指数
1
解决办法
451
查看次数

标签 统计

c++ ×1

c++11 ×1

sequence-points ×1

short-circuiting ×1