Wil*_*mKF 1 c++ string constructor std ifstream
可能重复:
std :: ifstream类的设计
为什么(i | o)fstream采用const char*参数作为文件名?
看一下std :: ifstream的构造函数,我发现两个:
ifstream ( );
explicit ifstream ( const char * filename, ios_base::openmode mode = ios_base::in );
Run Code Online (Sandbox Code Playgroud)
为什么第二个拿一个const char *而不是一个const std::string &?
这是某种避免循环或前向参考吗?
这是一个简单的遗漏.没有人及时想到它.这已在C++ 11中得到纠正,其中std::string也接受了.从27.9.1.7/3开始:
explicit basic_ifstream(const string& s, ios_base::openmode mode = ios_base::in);效果:同样如
basic_ifstream(s.c_str(), mode).
| 归档时间: |
|
| 查看次数: |
2032 次 |
| 最近记录: |