声明的最高境界, 请看代码
- C/C++ code
#include <iostream>#include <vector>#include <iterator>#include <algorithm>using namespace std;int main(){ vector<int> v(istream_iterator<int>(cin), istream_iterator<int>()); // 这里编译不通过, 为何? copy(v.begin(), v.end(), ostream_iterator<int>(cout, "\n")); return 0;}
提示: 编译器将 v 理解为一个函数. 问, 为什么?
[解决办法]
编译器解析问题
加2个括号即可。
- C/C++ code
vector<int> v( (istream_iterator<int>(cin)) , (istream_iterator<int>()) );