RWCString和const char之间的隐式转换*

时间:2011-01-12 10:58:14

标签: c++ implicit-conversion rogue-wave

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 *

1 个答案:

答案 0 :(得分:0)

==const char*之间的比较极有可能导致RWCString超载。

否则str转换为const char *或调用不明确:

如果有外部或成员str == "YES"比较两个operator==,则

RWCString不明确。

如果外部"YES" == str比较两个operator==,则

RWCString不明确。

(假设operator==的参数正常传递 - 通过副本或const引用)。