智能指针是一种用于自动管理动态内存分配的类模版,旨在减少手动管理内存带来的错误和复杂性。c++11标准库主要引入了三种智能指针。
1.std::shared_ptr
shared_ptr所使用的策略是跟踪引用特定对象的智能指针数,也就是引用计数,例如,赋值时,计数将加1,而指针过期时,计数将减1,仅当最后一个指针过期时才调用delete。
class MyClass
{
public:
MyClass(){
std::cout<<"create class.";}
~MyClass(){
std::cout<<"delete class.";}
}
int