【发布时间】:2015-12-17 12:18:10
【问题描述】:
我想了解以下情况会发生什么:
bool b = false;
float f = 3.14;
char c = 1;
int i = 2;
unsigned int u = 3;
long long int ll = 4;
unsigned long long int ull = 5;
b += f;
b += c;
b += i;
b += u;
b += ll;
b += ull;
b &= f;
b &= c;
b &= i;
b &= u;
b &= ll;
b &= ull;
b <<= f;
b <<= c;
b <<= i;
b <<= u;
b <<= ll;
b <<= ull;
或者换句话说,按照标准进行的隐式转换是什么?
其他问题:如果为假设的bool 类提供的复合赋值的唯一签名是以下形式,那么结果是否相同:
class bool {bool& operator op=(int x) noexcept;}; // op <=> +,-,&,|...
【问题讨论】:
标签: c++ boolean language-lawyer implicit-conversion