矢量比较失败
Fail of Vectors Comparison
我正在尝试比较两个向量,据我所知,向量支持关系运算符,它是这样工作的:将v1中的第一个元素与v2中的第一个元素进行比较,依此类推。。
为什么下面代码的结果是(true),其中v1中的最后一个元素>v2?!
#include <iostream>
#include <vector>
using namespace std;
void main()
{
vector <int> V1 = { 2,1,0,3 };
vector <int> V2 = { 3,4,2,2 };
cout << (V1 <= V2); //print true !!
system("pause");
}
operator==,!=,<,<=,>,>=
比较两个向量字典调用的内容。从…起http://en.cppreference.com/w/cpp/algorithm/lexicographical_compare:
词法比较是一种具有以下属性的操作:
- 两个范围逐元素进行比较
- 第一个不匹配元素定义哪个范围在字典上小于或大于另一个
这就是为什么字符串";abcdx";小于";abced";并且[2,1,0,3]小于[3、4,2,2]。
std::vector
是一个数据容器,除了包含多个元素之外,它与向量的数学性质无关。
std::vector
的文档说明了比较的工作原理:
平等通过首先比较大小来执行比较(运算符==),如果则使用运算符==顺序比较元素,在第一失配处停止(就好像使用相等的算法一样)。
小于比较(运算符<)的行为就像在使用算法dictiongraphical_compare,按顺序比较元素使用运算符<以对等方式(即,检查
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- C++ TCP 服务器比较字符串失败
- SuperLu和LaPack的比较在与犰狳进行基准测试时失败
- 标准::元组成员逐个成员比较失败
- C 拖拖与原始角色的比较失败
- 假定相同的字符串之间的比较失败' == '比较
- 断言在与 opencv 的像素比较中失败
- Gtest在零附近的C++浮点比较失败
- 使用比较函数对引用类型失败
- 从txt文件中读取行后字符串比较失败
- 使用下标运算符进行Integer Vector元素比较失败,但使用at函数成功
- 矢量比较失败
- 字符串比较失败-C++
- 逻辑比较在不应该C++时失败
- 比较测试失败:unorder_map上的[]操作符产生的参数数量错误
- 字符串比较在c++中失败
- 比较具有相同持续时间的两个std::chrono::time_points失败
- 为什么我在double和c++之间的比较失败
- 字符串==字符串比较失败的原因
- 为什么这个迭代器比较失败