C++----bool

1.操作子boolalpha通知流将bool值解析为单词(true或false),代码如下:
#include <ios>
#include <iostream>
#include <ostream>

int main()
{
std::cout << "true=" << true << '\n';
std::cout << "false=" << false << '\n';
std::cout << std::boolalpha;
std::cout << "true=" << true << '\n';
std::cout << "false=" << false << '\n';
}
,结果为:
true=1
false=0
true=true
false=false



2.可以将许多不是bool类型的值转换为bool类型,所有的字符串(包括空串)都是true;字符'\0'转换为false,所有其它字符都转换为true;如果流为错误状态,结果为false。
#include <ios>
#include <iostream>
#include <ostream>

int main()
{
bool b;
std::cout << std::boolalpha;
b = false; std::cout << b << ' ';
b = true; std::cout << b << ' ';
b = false; std::cout << b << ' ';
b = true; std::cout << b << ' ';
b = 42; std::cout << b << ' ';
b = 3.1415926535897; std::cout << b << ' ';
b = 0; std::cout << b << ' ';
b = -0.0; std::cout << b << ' ';
b = -1; std::cout << b << ' ';
b = "1"; std::cout << b << ' ';
b = "0"; std::cout << b << ' ';
b = "false"; std::cout << b << ' ';
b = ""; std::cout << b << ' ';
b = '0'; std::cout << b << ' ';
b = '\0'; std::cout << b << ' ';
b = std::cout; std::cout << b << ' ';
b = std::cin; std::cout << b << ' ';
std::cout << '\n';
}
,结果为:
false true false true true true false false true true true true true true false true true



3.比较两个vector,从两个向量的第一个元素开始比较,如果一个元素小于另一个元素,那么该元素所在的vector小于另一个vector。如果一个短向量是另一个长向量的前缀,那么微不短向量小于长向量。如下:
#include <iostream>
#include <ostream>
#include <vector>

int main()
{
std::vector<int> a, b;
a.push_back(10);
a.push_back(20);
a.push_back(30);
b.push_back(10);
b.push_back(20);
b.push_back(30);
if (a != b) std::cout << "wrong: a != b\n";
if (a < b) std::cout << "wrong: a < b\n";
if (a > b) std::cout << "wrong: a > b\n";
if (a == b) std::cout << "okay: a == b\n";
if (a >= b) std::cout << "okay: a >= b\n";
if (a <= b) std::cout << "okay: a <= b\n";

a.push_back(40);
if (a != b) std::cout << "okay: a != b\n";
if (a < b) std::cout << "wrong: a < b\n";
if (a > b) std::cout << "okay: a > b\n";
if (a == b) std::cout << "wrong: a == b\n";
if (a >= b) std::cout << "okay: a >= b\n";
if (a <= b) std::cout << "wrong: a <= b\n";

b.push_back(42);
if (a != b) std::cout << "okay: a != b\n";
if (a < b) std::cout << "okay: a < b\n";
if (a > b) std::cout << "wrong: a > b\n";
if (a == b) std::cout << "wrong: a == b\n";
if (a >= b) std::cout << "wrong: a >= b\n";
if (a <= b) std::cout << "okay: a <= b\n";
}
,结果为:
okay: a == b
okay: a >= b
okay: a <= b
okay: a != b
okay: a > b
okay: a >= b
okay: a != b
okay: a < b
okay: a <= b



4.字符串的比较规则如下:
#include <iostream>
#include <ostream>
#include <string>

int main()
{
std::string a("abc"), b("abc");
if (a != b) std::cout << "wrong: abc != abc\n";
if (a < b) std::cout << "wrong: abc < abc\n";
if (a > b) std::cout << "wrong: abc > abc\n";
if (a == b) std::cout << "okay: abc == abc\n";
if (a >= b) std::cout << "okay: abc >= abc\n";
if (a <= b) std::cout << "okay: abc <= abc\n";

a.push_back('d');
if (a != b) std::cout << "okay: abcd != abc\n";
if (a < b) std::cout << "wrong: abcd < abc\n";
if (a > b) std::cout << "okay: abcd > abc\n";
if (a == b) std::cout << "wrong: abcd == abc\n";
if (a >= b) std::cout << "okay: abcd >= abc\n";
if (a <= b) std::cout << "wrong: abcd <= abc\n";

b.push_back('e');
if (a != b) std::cout << "okay: abcd != abce\n";
if (a < b) std::cout << "okay: abcd < abce\n";
if (a > b) std::cout << "wrong: abcd > abce\n";
if (a == b) std::cout << "wrong: abcd == abce\n";
if (a >= b) std::cout << "wrong: abcd >= abce\n";
if (a <= b) std::cout << "okay: abcd <= abce\n";
}
,结果为:
okay: abc == abc
okay: abc >= abc
okay: abc <= abc
okay: abcd != abc
okay: abcd > abc
okay: abcd >= abc
okay: abcd != abce
okay: abcd < abce
okay: abcd <= abce
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值