在 c++ 中,智能指针通常有以下几种使用方式: 使用 std::shared_ptr: #include <memory
在 c++ 中,智能指针通常有以下几种使用方式:
使用 std::shared_ptr:
#include <memory>
int main() {
std::shared_ptr<int> ptr = std::make_shared<int>(10);
*ptr = 20; // 通过指针访问对象
std::cout << *ptr << std::endl; // 输出 20
return 0;
}
使用 std::unique_ptr:
#include <memory>
int main() {
std::unique_ptr<int> ptr = std::make_unique<int>(10);
*ptr = 20;
std::cout << *ptr << std::endl;
return 0;
}
使用 std::weak_ptr:
#include <memory>
int main() {
std::shared_ptr<int> sharedPtr = std::make_shared<int>(10);
std::weak_ptr<int> weakPtr = sharedPtr;
std::cout << *weakPtr.lock() << std::endl; // 输出 10
sharedPtr.reset();
if (weakPtr.expired()) {
std::cout << "shared_ptr 已经被释放" << std::endl;
}
return 0;
}
需要注意的是,当使用 std::shared_ptr 时,可以通过引用计数追踪对象的所有权,而 std::unique_ptr 则是通过独占所有权来实现的。而 std::weak_ptr 则允许对对象进行弱引用,不会增加引用计数,也不会阻止对象被销毁。
--结束END--
本文标题: c++智能指针怎么调用
本文链接: https://www.lsjlt.com/news/570774.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0