5.Boost之“资源申请即初始化” RAII
1.RAII:资源申请即初始化:
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <stdlib.h>
#include <string>
using namespace std;
class mystr
{
public:
char *p = nullptr;
public:
mystr(const char *str)
{
cout << "构建" << endl;
int length = strlen(str);
p = new char[length + 1];
strcpy(p, str);
p[length] = '\0';
}
~mystr()
{
cout << "销毁" << endl;
delete[] p;
}
};
void go()
{
char *p = new char[100];
//RAII避免内存泄露,一般情况下,堆上的内存当作栈上来使用
//栈内存有限,希望自动释放,用很大的内存。
mystr str1 = "ABCD";
}
void main()
{
go();
cin.get();
}
运行结果:
构建
销毁
总结
以上是生活随笔为你收集整理的5.Boost之“资源申请即初始化” RAII的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 河南省宝丰县征兵去哪里?
- 下一篇: 细粒度图像分类_支付宝AI大幅提升细粒度