在下面的代码片段中,如果我排除了第二次调用的括号std::istreambuf_iterator
,我会在最后一行得到一个编译错误:
.c_str() 的左边必须有一个类/结构/联合。
std::ifstream file("file.txt");;
std::string prog(
std::istreambuf_iterator<char>(file),
(std::istreambuf_iterator<char>()));
prog.c_str();
这些括号实际上是做什么的?在我看来,他们应该能够被排除在外。