C++,文件和流, 析构函数和调用delete this
程序员文章站
2024-03-04 15:10:35
...
参考链接 点击打开链接
C++文件和流
标准库,fstream,iostreamofstream 表示输出文件流,用于创建文件并写入信息
ifstream 表示输入文件流,用于读取文件信息
fstream 表示文件流,具有上述两种功能
void open(const char *filename, ios::openmode mode);
void close();
打开模式:
#include<fstream>
#include<iostream>
using namespace std;
int main()
{
fstream SaveFile("file.txt");//创建文件file.txt
SaveFile << "you may don't believe this.";
ofstream outfile;//以写模式打开
outfile.open("file.txt");
int data[100];
cin.getline(data, 100);
outfile << data << std::endl;
outfile.close();
ifstream infile;//以读模式打开
infile.open("file.txt");
infile >> data;
infile.close();
}
如果在类的析构函数中调用delete this, 会导致堆栈的溢出
delete 本质是为将释放的内存调用一个或多个析构函数,会形成无限递归,造成堆栈溢出delete this;语句后,指向该对象的指针就是野指针了
a local object on the stack-局部变量存储在栈
下一篇: java I/O Streams
推荐阅读