1
下面的代码产生不同的结果产生不同的输出:C++字符串比较操作符>取决于两个字符串如何比较
- 初始化和赋值字符串变量比较。
string d =“d”; string abc =“abc”;
d> abc计算结果为真。
- 比较字符串。 “d”>“abc”评估为false。
它们如何产生不同的输出?
下面的代码产生不同的结果产生不同的输出:C++字符串比较操作符>取决于两个字符串如何比较
string d =“d”; string abc =“abc”;
d> abc计算结果为真。
它们如何产生不同的输出?
"d"
不是std::string
。这是一个const char *
。因此,当您执行string d = "d"
时,您将字符串设置为{'d', '\0'}
的const char *
。然后,当您比较它时,将使用std::string operator>
而不是const char *
的版本。
''d“'实际上是一个'const char [2]',尽管如果用作'>'的操作数,那么它会在那时转换为'const char *'。 –