【发布时间】:2020-02-11 18:47:39
【问题描述】:
对于下面的代码,为什么输出为 1?
#include<iostream>
#include<array>
int main() {
std::array<int, 5> a { 10, 11, 12, 15, 14 };
std::array<int, 5> b { 11, 12, 13, 14, 15 };
std::cout << (a < b);
}
【问题讨论】:
-
试试
cout << std::boolalpha << (a < b); -
why is the output coming as 1?你期待什么输出? 1 对我来说似乎是正确的。 -
@Borgleader:OP 没有这种直觉,因此他/她的问题。也许OP期待一个错误?还是 0 表示无法比较?
-
我认为这就是@einpoklum 的重点。他们没有告诉我们他们所期望的。
标签: c++ c++11 stl comparison-operators stdarray