std成员内没有shared_ptr
时间: 2023-07-18 21:05:00 浏览: 107
实现了类似std::function /bind /shared_ptr功能
是的,`std`命名空间中没有名为`shared_ptr`的成员。`std::shared_ptr`是C++11标准库中定义的智能指针类型。如果要使用`shared_ptr`,需要包含头文件`<memory>`。例如:
```cpp
#include <memory>
int main() {
std::shared_ptr<int> p1(new int(42));
std::shared_ptr<int> p2 = p1;
return 0;
}
```
在上面的代码中,我们使用`std::shared_ptr`创建了两个指向`int`类型的智能指针`p1`和`p2`,它们指向同一个动态内存分配的地址。由于`p1`和`p2`都是`shared_ptr`类型,它们共享同一个计数器,当最后一个指向该动态内存的智能指针离开作用域时,计数器变为零,该内存将被自动释放。
阅读全文