为什么bool转换明确提到prvalue

时间:2017-02-16 05:53:34

标签: c++

在4.14 http://eel.is/c++draft/conv.bool#1

它说:

  

prvalue 的算术,无范围枚举,指针或指针   成员类型可以转换为bool类型的 prvalue

为什么要特别强调prvalue?

算术类型的左值也可以转换为bool。

1 个答案:

答案 0 :(得分:1)

标准不希望布尔转换影响左值,因此它不允许它。

您当然可以将算术类型的左值转换为类型bool,但它不是通过(仅)布尔转换完成的。将算术左值转换为bool是一个标准转换序列,由左值到右值转换后跟布尔转换组成。