c++ - 为什么bool转换明确提到prvalue

标签 c++

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

它说:

A prvalue of arithmetic, unscoped enumeration, pointer, or pointer to member type can be converted to a prvalue of type bool.

为什么要特别强调右值?

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

最佳答案

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

您当然可以将算术类型的左值转换为 bool 类型,但这不是通过(仅) bool 转换来完成的。将算术左值转换为 bool 是一个标准的转换序列,由 lvalue-to-rvalue 转换boolean 转换组成。

关于c++ - 为什么bool转换明确提到prvalue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42266003/

相关文章:

c++ - 错误使用 nullptr 的编译器错误

c++ - Cpp : JSON parser in Cpp that provide support Serialize/Deserialize feature, 将 JSON 对象转换为用户定义的类?

c++ - IPV6双栈模式检查ipv6内核模块是否加载

C++11 通过原始指针或引用获取 unique_ptr 的所有权?

c++ - 是否有任何 Windows 函数可以使用域名获取所有 OU(组织单位)名称?

c++ - 指向派生对象数组的基指针

c++ - 如何将 QActions 列表添加到 QMenu 并使用单个插槽处理它们?

c++ - 为什么 lambda 的 std::function 构造无法编译?

c++ - 模板类的组成

c++ - Emacs 和 C++