RAll(Resource Acquisition ls Initialization-资源获取即初始化)
是一种利用对象生命周期来控制程序资源的技术。
功能
1.不需要显式地释放资源。
2.所托管的资源,随对象的创建而获取,随对象的消失而消失,对象所需的资源在其生命期内始终保持有效。
主要目的:为防止内存泄漏
使用
1.auto_ptr
int *a = new int(10);
auto_ptr<int> ap(a);
2.unique_ptr
int *a = new int(10);
unique_ptr<int> ap(a);
3.shared_ptr
int *a = new int(10);
shared_ptr<int> ap(a);