c++ - 使用ifstream时使用和效率的差异
问题描述
我目前正在编写一个程序来从一个大的 .csv 文件中读取数据,并想知道使用之间是否有任何区别:
ifstream handle("filename");
和
ifstream handle;
archivo.open("filename", ios::in);
打开文件时。到目前为止,我都尝试过,两者都在读取数据,然后将其存储在 STL 容器中。我想知道在使用、效率和/或内存使用方面是否有任何具体差异。提前致谢!
解决方案
它们之间没有区别。
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;
...
};