当前位置: 首页 > news >正文

html css javascipt 网站建设鹤壁搜索引擎优化

html css javascipt 网站建设,鹤壁搜索引擎优化,上海最大的网络推广公司,品牌网络市场环境调研报告智能指针⽤于管理动态内存的对象,其主要⽬的是在避免内存泄漏和多次释放资源。 1. std::unique_ptr 独占智能指针 std::unique_ptr 是一种独立智能指针,独占内存资源,不能被其他独立智能指针共享,拥有自动释放内存的功能。 std::u…
智能指针⽤于管理动态内存的对象,其主要⽬的是在避免内存泄漏和多次释放资源。

1. std::unique_ptr 独占智能指针

std::unique_ptr 是一种独立智能指针,独占内存资源,不能被其他独立智能指针共享,拥有自动释放内存的功能。

std::unique_ptr 拥有对某个对象的控制权。当 std::unique_ptr 被销毁时,它所管理的对象也会被自动销毁,从而有效防止内存泄漏。

#include <iostream>
#include <memory>class MyClass {
public:MyClass() { std::cout << "MyClass constructed\n"; }~MyClass() { std::cout << "MyClass destructed\n"; }void doSomething() { std::cout << "Doing something\n"; }
};int main() {// 创建 std::unique_ptrstd::unique_ptr<MyClass> ptr1 = std::make_unique<MyClass>();// 使用 -> 访问成员ptr1->doSomething();// 无法复制 std::unique_ptr// std::unique_ptr<MyClass> ptr2 = ptr1; // 编译错误// 可以移动 std::unique_ptrstd::unique_ptr<MyClass> ptr2 = std::move(ptr1);// ptr1 现在为空if (ptr1 == nullptr) {std::cout << "ptr1 is null\n";}// ptr2 现在拥有对象ptr2->doSomething();// 离开作用域时,ptr2 自动删除对象
}

2.std::shared_ptr (共享智能指针)

shared_ptr 旨在管理动态分配对象的生命周期,支持多个指针共享同一对象的所有权。它通过引用计数机制来追踪有多少个 std::shared_ptr 实例指向同一个对象,当引用计数降为零时,自动释放所管理的对象,从而有效防止内存泄漏。

主要特性:

  • 共享所有权: 多个 std::shared_ptr 实例可以指向同一个对象,共享对该对象的所有权。每次拷贝或赋值都会增加引用计数,每次析构都会减少引用计数。当引用计数为零时,自动删除所指向的对象。

  • 线程安全: std::shared_ptr 的引用计数是线程安全的,可以在多个线程中安全地拷贝和销毁。但需要注意,对同一对象的操作仍需使用适当的同步机制。

  • 内存管理: std::shared_ptr 内部维护一个控制块,包含引用计数和删除器等信息。使用 std::make_shared 创建 std::shared_ptr 时,会同时分配对象和控制块的内存,避免了多次内存分配,提高了性能。

#include <iostream>
#include <memory>class MyClass {
public:MyClass() { std::cout << "MyClass constructed\n"; }~MyClass() { std::cout << "MyClass destructed\n"; }void doSomething() { std::cout << "Doing something\n"; }
};int main() {// 使用 std::make_shared 创建 std::shared_ptrauto ptr1 = std::make_shared<MyClass>();// 使用 -> 访问成员ptr1->doSomething();// 拷贝构造,引用计数增加auto ptr2 = ptr1;std::cout << "Reference count: " << ptr1.use_count() << "\n"; // 输出 2// 赋值构造,引用计数增加auto ptr3 = ptr2;std::cout << "Reference count: " << ptr1.use_count() << "\n"; // 输出 3// 离开作用域时,ptr1、ptr2 和 ptr3 会被销毁,引用计数减少// 当引用计数为 0 时,自动释放 MyClass 对象
}

http://www.cadmedia.cn/news/12578.html

相关文章:

  • 一个正规的网站建设公司东莞软文推广
  • 买空间网官网昆明seocn整站优化
  • 快手官方网站音乐人怎么做新闻头条今日最新消息
  • 辽宁建设工程信息网新域名株洲seo快速排名
  • 三亚中国检科院生物安全中心门户网站建设sns营销
  • 射阳住房和城乡建设局网站sem网络推广公司
  • 网站导航栏一般有什么内容怎么建网站
  • 十大网站建设公司关键词歌词打印
  • 怎么制作平台谷歌seo新规则
  • 论网站建设的重要性郑州网站建设推广优化
  • 临西县建设网站seo交流
  • 网络建站优化科技你对网络营销的理解
  • 集团公司门户网站建设东莞最新疫情
  • 个人简历制作网站百度地图导航
  • 站长之家官网网址说说seo论坛
  • 建设监理收录网站武汉全网营销推广公司
  • 买完网站怎么建设网站ip查询站长工具
  • 网站建设综合训练的实验目的无锡网站建设
  • 筹划建设智慧海洋门户网站网络推广营销
  • 银川网站建设哪家价格低真正永久免费网站建设
  • 做国外销售都上什么网站网站seo优化心得
  • 网站建设公司名称网页生成
  • 网站建设的静态网页作业百度答主中心入口
  • 网站搭建修改收费依据武汉网站seo
  • 男女做爰高清免费视频网站网站统计分析工具的主要功能
  • 哈尔滨网站开发工作室公司推广策划
  • 龙海市建设局网站百度指数查询
  • 网站服务器租用怎么购买客源引流推广
  • 住房和城乡建设部建设司网站首页百度的网址是什么
  • 浙江省城乡住房建设部网站如何推广公司网站