我了解以下代码(来自此处)用于将文件的内容读取为字符串:
#include <fstream>
#include <string>
std::ifstream ifs("myfile.txt");
std::string content( (std::istreambuf_iterator<char>(ifs) ),
(std::istreambuf_iterator<char>() ) );
但是,我不明白为什么需要这种看似多余的括号。例如,以下代码无法编译:
#include <fstream>
#include <string>
std::ifstream ifs("myfile.txt");
std::string content(std::istreambuf_iterator<char>(ifs),
std::istreambuf_iterator<char>() );
为什么编译需要这么多括号?