不明白写ifstream :: in的原因

时间:2018-01-28 21:25:29

标签: c++

PortableBitmap(string const &asdf, char qwer, char tyu){

    ifstream fin(textDatei, ifstream::in);

    char c = fin.get();

    fin.close();
}

我有一个理论问题,在互联网上的例子中,每个人都在编写ifstream :: like在上面的例子中。我不知道为什么要写ifstream :: in。有人可以解释我并给我一个例子,如果没有ifstream ::

有其他方式来编写它

也欢迎提供有关此主题的相关链接。

提前致谢

1 个答案:

答案 0 :(得分:3)

不需要ifstream::,也不需要在函数末尾关闭流(ifstream析构函数会为你做这个)。这完全相同。

PortableBitmap(string const &asdf, char qwer, char tyu)
{
    ifstream fin(textDatei);

    char c = fin.get();
}

ifstream构造函数的第二个参数是“打开模式”,您可以使用它来指定为读取或写入打开流,或者为二进制I / O等打开两个参数。不过令人惊讶的是打开模式的ifstream的默认值是打开文件进行输入。所以ifstream :: in(或等效的ios_base :: in)没有错,但是没必要。

ifstream构造函数中的所有细节。 http://en.cppreference.com/w/cpp/io/basic_ifstream/basic_ifstream