iostream引用如何评估为true / false

时间:2011-08-26 02:41:36

标签: c++ stl

示例代码:

#include <iostream>
#include <string>
#include <sstream>

using namespace std;

int main() {
    int num;
    stringstream ss("1");
    if (ss >> num) cout << "It was true\n";
    return 0;
}

“ss&gt;&gt; num”如何评估为布尔值?是否有一些运算符在stringstream中被重载? STL说&gt;&gt; operator返回对流的引用。

1 个答案:

答案 0 :(得分:4)

是的 - iostream在C ++ 03中有一个operator void*,在C ++ 11中有一个显式的bool转换。