下面的代码会产生不同的结果:
string d =" d&#34 ;; string abc =" abc&#34 ;;
d> abc评估为真。
他们如何产生不同的产出?
答案 0 :(得分:1)
"d"
不是std::string
。这是const char *
。因此,当您执行string d = "d"
时,您将字符串设置为const char *
的{{1}}。然后,当您进行比较时,会使用{'d', '\0'}
代替std::string operator>
的版本。