发帖子讨论explicit的用法,什么情况下会发生隐式调用。
对什么时候用explicit还不是很清楚。希望抛砖引玉。
我只知道在下面的情况会发生隐式调用:
class Myclass
{
public:
int m_data;
........
const Myclass operator *(const Myclass&rhs) const
{
....
}
}
Myclass a;
Myclass result = a * 2;-------2会隐式转换为一个Myclass的object
用explicit 可以避免此现象。
我想知道还有什么情况会发生隐式调用呢?