RWCString str = "Y";
str.append("ES");
if("YES" == str)
cout << "YES == str" << endl;
if(str == "YES")
cout << "str == YES" << endl;
两种情况下隐式转换是如何发生的?哪一个可以安全使用? RWCString是一个字符串类,它有一个构造函数,它带有const char *,转换操作符带有const char *
答案 0 :(得分:0)
==
与const char*
之间的比较极有可能导致RWCString
超载。
否则str
转换为const char *
或调用不明确:
str == "YES"
比较两个operator==
,则 RWCString
不明确。
"YES" == str
比较两个operator==
,则 RWCString
不明确。
(假设operator==
的参数正常传递 - 通过副本或const
引用)。