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