C++,文件和流, 析构函数和调用delete this

参考链接 点击打开链接

C++文件和流

标准库,fstream,iostream
ofstream 表示输出文件流,用于创建文件并写入信息
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-局部变量存储在栈
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值