什么是>;运算符在比较两个C++;容器? 由于某种原因,C++中的能力在C++中容器之间的比较大于/小于,而不是容器元素之间。例如 std::vector<int> vec1 = {1, 2, 3}, vec2 = {1, 2, 3, 4}; return vec1 > vec2; std::vector vec1={1,2,3},vec2={1,2,3,4}; 返回vec1>vec2;

什么是>;运算符在比较两个C++;容器? 由于某种原因,C++中的能力在C++中容器之间的比较大于/小于,而不是容器元素之间。例如 std::vector<int> vec1 = {1, 2, 3}, vec2 = {1, 2, 3, 4}; return vec1 > vec2; std::vector vec1={1,2,3},vec2={1,2,3,4}; 返回vec1>vec2;,c++,vector,containers,comparison,standards,C++,Vector,Containers,Comparison,Standards,报告给出了以下解释: “如果lhs的内容在字典上大于 rhs的内容,否则为假” 在这种情况下,“更大”是什么意思? 这到底有什么用呢?从词汇学上讲,更大的词汇量与词典中的词汇量是一样的。您可以将1,2,3替换为“abc”,将1,2,3,4替换为“abcd”,从而将其可视化。字符串“abcd”稍后将出现在字典中,因为它在词汇学上更大 如果您有2,2,3(而不是1,2,3),因为2在词汇学上大于1,>将在2,2,3和1,2,3,4之间进行比较时返回true 容器的相对长度无关紧要。我们只看该序列是否

报告给出了以下解释:

“如果lhs的内容在字典上大于 rhs的内容,否则为假”

在这种情况下,“更大”是什么意思?
这到底有什么用呢?

从词汇学上讲,更大的词汇量与词典中的词汇量是一样的。您可以将1,2,3替换为“abc”,将1,2,3,4替换为“abcd”,从而将其可视化。字符串“abcd”稍后将出现在字典中,因为它在词汇学上更大

如果您有2,2,3(而不是1,2,3),因为2在词汇学上大于1,>将在2,2,3和1,2,3,4之间进行比较时返回true

容器的相对长度无关紧要。我们只看该序列是否会在另一个序列之前出现在字典中(“a”出现在“b”之前,“1”出现在“2”之前)

当您需要知道一个序列是否在另一个序列之前时,这一点非常有用


我希望这能对您有所帮助。

请看:大于是什么意思,一个向量项的总和大于?或者项目的数量?这与总数无关。我们正在研究这个序列是否会出现在另一个序列之前,就像我们在看字典一样。维基百科页面从来没有建议序列必须由数字或字母组成。它使用“字母表”一词来指代“完全有序的有限集合”。这意味着该定义适用于由具有已定义顺序的任何类型的元素组成的序列。cppreference.com页面声明“比较是由相当于的函数执行的。”如果您阅读
std::lexicographical\u compare
上的页面,它说明使用
operatorHi对元素进行比较,这对于非数字/字母数据向量意味着什么?谢谢你的回复。嗨,没问题。对于非数值数据向量,将根据其ASCII值对值进行比较,但仍将遵循比较数值时遵循的相同原则。例如,包含{a,p,p,l,e}的向量将位于包含{o,r,a,n,g,e}的向量之前,因为“a”的ASCII值在“o”的ASCII值之前。我希望这对你有帮助。请让我知道,如果我能进一步澄清。@ ByYangHiRotov96,C++标准不需要ASCII编码。符合标准的实现可以在字母不按字母顺序的情况下使用编码。换句话说,它依赖于实现?@boyanhristov96 Hi,如果你有一个结构、类、元组或任何其他不起作用的向量。这就是我要问的。