首页 > 解决方案 > 使用ifstream时使用和效率的差异

问题描述

我目前正在编写一个程序来从一个大的 .csv 文件中读取数据,并想知道使用之间是否有任何区别:

ifstream  handle("filename");

ifstream handle;
archivo.open("filename", ios::in);

打开文件时。到目前为止,我都尝试过,两者都在读取数据,然后将其存储在 STL 容器中。我想知道在使用、效率和/或内存使用方面是否有任何具体差异。提前致谢!

标签: c++stdfstreamifstreamtext-parsing

解决方案


它们之间没有区别。

ifstream handle("filename");- 你创建 ifstream 类型变量,然后在代码的一部分中打开一个文件;

ifstream handle;- 你使 ifstream 类型变量;

handle.open("filename", ios::in);- 您在代码的另一部分打开文件。

当您需要像班级成员一样拥有 ifsteam 时,第二个版本会很有用。

例如:

    class myClass
    {
    public:
        myClass(std::string str)
        {
            file.open(str);
        }
    private:
        ifstream file;
        ...
    };

推荐阅读