在if条件下调用什么重载运算符?

Tal*_*Kit 1 c++ if-statement

从示例http://www.cplusplus.com/reference/istream/istream/read/中可以看到以下声明

ifstream is;
...
...

if (is) { // What overloaded operater of **is** object is called here
....
}
Run Code Online (Sandbox Code Playgroud)

什么超负荷运营商目的是叫什么名字?

jua*_*nza 6

从C++ 11开始,有一个转换运算符bool:

explicit operator bool() const;
Run Code Online (Sandbox Code Playgroud)

在此之前,有一个转换运算符void*:

operator void*() const;
Run Code Online (Sandbox Code Playgroud)

后者评估true为任何非空指针和false否则.