求教关于bool型的++,--!

为什么C++中,bool型数据可以用++,比如
bool a;
a++;
是完全可以的,但是
bool b;
b--;
却不能编译?

富国沪深
浏览 281回答 2
2回答

蓝山帝景

这个是编译器规定的啦, boo b = 0 或者b =1;b++以后b都是以1但b--可能会造成负数,所以C++里面没有重载--这个操作符。

白衣非少年

bool类型对true或false的判定标准是0值,并不是什么0和1,负值也是有意义的.对于bool类型的研究,给LZ一个测试程序自己研究看看#include<iostream>using namespace std;int main(){bool b = -1;if(b)cout << "ok!" << endl;b = b -(+) 1;if(b)cout << "error!" <<endl;return 0;}把b = b - 1换成 b = b + 1看看,你就会有所了解了
打开App,查看更多内容
随时随地看视频慕课网APP