0%

dynamic memory

智能指针有3类 1. shared_ptr: 多个指针指向一个对象,此类指针有一个关联的计数器,称为引用计数,表示指向这个对象的指针的数,当没有指针指向这个对象后,就会自动释放自己管理的对象。 2. unique_ptr: 只有这个指针指向这个对象 3. weak_ptr: 指向shared_ptr管理的对象

对于动态指针中pp.get()
根据代码运行

1
2
3
4
int main() {
shared_ptr<string> p1 = make_shared<string>("rua");
cout << p1 << endl << p1.get() << endl;
}
发现两者输出相同,都可以额表示指针?但是p可以用作条件判断。
为什么要用动态对象呢?
1. 可以共享数据,允许多个对象一起用