1
我一直在閱讀有關轉換操作符,但我仍然不確定何時調用轉換操作符。考慮下面的例子:如何知道何時調用轉換操作符
class foo
{
public:
operator char*()
{
return "SomeText";
}
};
foo d;
const char* m = static_cast<char*>(d);
爲什麼用這個轉換調用轉換運算符?哪個運營商正在呼叫它?
爲什麼你的轉換操作符不會被調用?你明確要求從你的對象'd'轉換到'char *'。 – 2014-09-24 07:39:59
我的印象是,只有在對象實例之前放置操作符時纔會調用轉換操作符 – Rajeshwar 2014-09-24 07:41:45
轉換函數不是「操作符」,儘管其名稱中帶有關鍵字「操作符」。 – 2014-09-24 07:48:24