Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/145.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将字符串与>= 我正在学习C++。我很惊讶它能比较字符串。以下代码为字符串a和b成功编译并运行 如果(b>=a) {}_C++_String_Operator Overloading_String Comparison_Stdstring - Fatal编程技术网

将字符串与>= 我正在学习C++。我很惊讶它能比较字符串。以下代码为字符串a和b成功编译并运行 如果(b>=a) {}

将字符串与>= 我正在学习C++。我很惊讶它能比较字符串。以下代码为字符串a和b成功编译并运行 如果(b>=a) {},c++,string,operator-overloading,string-comparison,stdstring,C++,String,Operator Overloading,String Comparison,Stdstring,这是什么意思?所有对std::string的比较都是字典式的。看 您可以在这里找到一个很好的答案,详细解释了这一点: . 运算符=不相等,但原理是相同的。发布的代码不编译:temp.cpp:1:1:错误:预期的非限定id您的惊讶是令人惊讶的,可能您听说过字母顺序或字典顺序?@john I使用b=“Bb”和a=“Aa”进行测试还有很多人在问这个问题之前,都知道b>a是真的。我想到了,但我不确定。我想知道他们对字符串排序的准确程度,而不仅仅是通过反复试验来了解。还有一件事——常常被忘记——比较的结果

这是什么意思?

所有对
std::string
的比较都是字典式的。看

您可以在这里找到一个很好的答案,详细解释了这一点:
. 运算符
=
不相等,但原理是相同的。

发布的代码不编译:
temp.cpp:1:1:错误:预期的非限定id
您的惊讶是令人惊讶的,可能您听说过字母顺序或字典顺序?@john I使用b=“Bb”和a=“Aa”进行测试还有很多人在问这个问题之前,都知道b>a是真的。我想到了,但我不确定。我想知道他们对字符串排序的准确程度,而不仅仅是通过反复试验来了解。还有一件事——常常被忘记——比较的结果是实现定义的。例如,使用ASCII编码的系统将大写字母放在第一位,EBCDIC将小写字母放在第一位。尽管存在代码< >代码> ToWoW和 ToupPe>代码>,但在标准C++中仍然没有实例实例比较功能。(但是我们在C++20中得到了一些非常重要的东西,比如一个新的格式库;-)@Adola抱歉,我以为你会惊讶于有任何可能的比较。正如芭丝谢芭所说,没有标准的秩序。这将是一个疯狂的系统,其中“a”>“b”,但这样的系统是允许的。最常见的顺序是由定义的。添加常规链接可能也是一个好主意