【发布时间】:2021-11-06 05:45:35
【问题描述】:
我使用Microsoft documentation 和cppreference 作为背景。微软的网站说,while 中要评估的表达式必须是整数类型、pointer 类型或与这些类型可转换的类型。 Cppreference 的网站虽然说虽然需要 bool 类型表达式。
真正发生了什么?表达式是否必须转换为bool?如果我在一段时间内使用例如char类型的表达式,是否需要转换为bool?
【问题讨论】:
-
听起来你可以使用good C++ book
-
C(表达式具有整数类型)和 C++(表达式为
bool)之间可能会混淆? -
bool是 一个整数类型,因此 MS 文档是正确的。 cppreference 也是正确的,因为它们声明“任何可在上下文中转换为布尔值的表达式...”. -
顺便说一句:cppreference 到底是什么?是
https://en.cppreference.com/吗? -
Microsoft 的 C++ 文档非常受欢迎;有些部分非常好,有些部分似乎是由对语言知之甚少的实习生或志愿者写的。
标签: c++ while-loop boolean implicit-conversion boolean-expression