- 2025-01-05cpp智能指针
普通指针的不足new和new[]的内存需要用delete和deletel]释放。程序员的主观失误,忘了或漏了释放。程序员也不确定何时释放。普通指针的释放类内的指针,在析构函数中释放。C++内置数据类型,如何释放?new出来的类,本身如何释放?C++11新增三个智能指针类型uniqu
- 2024-12-31【C++11】智能指针
目录指针标准库unique_ptr对应类方法创建unique_ptr对象的两种方法unique_ptr的使用特性shared_ptr类方法循环引用造成内存泄漏weak_ptrweak_ptr的创建三个方法功能例子1例子2指针普通指针:指向内存区域的地址变量当普通指针指向动态分配的内存的时候,即使这个指
- 2024-12-31【c++编程基础】std::unique的理解
前言项目中想要实现一个功能,对于一个自定义类,包含坐标和类别等属性,按照到某个中心点的角度从小到大排序,如果角度相同,只保留距离中心点更近的元素,过程中用到了0-360的角度计算,自定义函数排序,以及删除重复元素等内容,故记录之。具体内容1.计算到中心点的角度;//计算点到中心点
- 2024-12-30北京大学2024秋季编译原理实践报告
编译原理课程实践报告:编译好难写代码在https://github.com/parker0523/compiler一、编译器概述1.1基本功能本编译器基本具备如下功能:编译SysY文件为KoopaIR文件编译SysY文件为risc-v文件简单的寄存器分配1.2主要特点本编译器的主要特点是源文件结构精简、代码风格自
- 2024-12-28cpp智能指针
普通指针的不足new和new[]的内存需要用delete和deletel]释放。程序员的主观失误,忘了或漏了释放。程序员也不确定何时释放。普通指针的释放类内的指针,在析构函数中释放。C++内置数据类型,如何释放?new出来的类,本身如何释放?C++11新增三个智能指针类型uniqu
- 2024-12-284.采用锁操作并支持等待功能的线程安全队列
分析书接上文修改push()似乎并不困难:在函数末尾加上对data_cond.notify_one()的调用即可,与代码清单1(第一篇文章)一样。事情其实没那么简单,我们之所以采用精细粒度的锁,目的是尽可能提高并发操作的数量。如果在notify_one()调用期间,互斥依然被锁住,形式与代码清单1一样,而等
- 2024-12-26多种实现数组去重的方法:适用场景和特点
- 2024-12-26C++ 杂记03 指针(二) 智能指针
C++中,智能指针与普通指针不同,是包含指针的一种类模板,用于管理动态分配的内存。智能指针的行为类似于常规指针,但是能够自动地释放所指向的对象,避免内存的泄露。智能指针通过对被引用对象进行计数的方式,或者其他机制,限制被引用的次数,避免形成循环引用。相较于常规指针,在使用完以后,
- 2024-12-23cpp智能指针
普通指针的不足new和new[]的内存需要用delete和deletel]释放。程序员的主观失误,忘了或漏了释放。程序员也不确定何时释放。普通指针的释放类内的指针,在析构函数中释放。C++内置数据类型,如何释放?new出来的类,本身如何释放?C++11新增三个智能指针类型uniqu
- 2024-12-21【C++】智能指针详解
- 2024-12-20cpp智能指针
普通指针的不足new和new[]的内存需要用delete和deletel]释放。程序员的主观失误,忘了或漏了释放。程序员也不确定何时释放。普通指针的释放类内的指针,在析构函数中释放。C++内置数据类型,如何释放?new出来的类,本身如何释放?C++11新增三个智能指针类型uniqu
- 2024-12-17C++ 智能指针
目录内存泄漏内存泄漏分类(了解)如何检测内存泄漏(了解)如何避免内存泄漏智能指针的使用及原理RAIIstd::auto_ptr(转移管理权,不建议使用)std::unique_ptr(防止拷贝)std::shared_ptr(引用计数)make_shared()模拟实现shared_ptrstd::shared_ptr的循环引用(导致内存泄
- 2024-12-12C++11 lock_guard和unique_lock
一、RAII技术1、ResourceAcquisitionIsInitialization,资源获取即初始化,由C++之父提出。2、使用局部对象来管理资源的技术,称为资源获取即初始化。3、资源主要指操作系统中有限的东西,如内存、套接字等;局部对象指存储在栈里的对象,生命周期由操作系统来管理。4、资源
- 2024-12-11cpp智能指针
普通指针的不足new和new[]的内存需要用delete和deletel]释放。程序员的主观失误,忘了或漏了释放。程序员也不确定何时释放。普通指针的释放类内的指针,在析构函数中释放。C++内置数据类型,如何释放?new出来的类,本身如何释放?C++11新增三个智能指针类型uniqu
- 2024-12-08如何优雅地在Django项目里生成不重复的ID?
前言本来标题是想叫“生成不重复的四位数”的,不过单纯数字有点局限,推广一下变成不重复ID吧~这个功能是在做下面图片里这个小项目时遇到的,有点像微信的面对面建群,生成一个随机且不重复的密码,其他人输入这个密码就能加入教室。实现这个功能有不少方法,本文简单记录一下。不依
- 2024-12-05query did not return a unique result: 2;
文章目录错误原因分析关键位置可能原因解决方法1.检查数据库数据2.修改查询方法3.限定查询返回唯一结果4.检查业务逻辑总结1、LoginLogRepository2、LoginLogService3、LoginLogApiService4、MyAuthenticationSuccessHandler微信小程序开发者工具控制台报错{
- 2024-12-04std::unique_lock<std::mutex> 硬核理解
通过数数1-100来感受std::unique_lockstd::mutex的作用如果没有std::unique_lockstd::mutex,各个线程对num的++是乱的,不能保证正确的顺序,可能存在同时对num进行添加使用了std::unique_lockstd::mutex保存使用num的时候,只有一个线程在使用,当释放了锁以后,其他的线程才可以使用使
- 2024-12-01cpp智能指针
普通指针的不足new和new[]的内存需要用delete和deletel]释放。程序员的主观失误,忘了或漏了释放。程序员也不确定何时释放。普通指针的释放类内的指针,在析构函数中释放。C++内置数据类型,如何释放?new出来的类,本身如何释放?C++11新增三个智能指针类型uniqu
- 2024-11-30智能值针初始化方式
智能指针的初始化方式根据智能指针的类型(如 std::shared_ptr 或 std::unique_ptr)以及具体需求而有所不同。以下是详细介绍:1. 初始化 std::shared_ptrstd::shared_ptr 是一种引用计数智能指针,允许多个 shared_ptr 共享同一块内存。(1)使用 std::make_shared(推荐)std::ma
- 2024-11-27Pandas教程之十:从DataFrame的列中获取唯一值
从PandasDataFrame中的列中获取唯一值unique()函数删除列上的所有重复值,并为多个相同值返回单个值。在本文中,我们将讨论如何从PandasDataFrame中的列中获取唯一值。#获取任意列的唯一值df.ColumnName.unique()Pandas列中的唯一值创建具有重复元素的PandasDatafra
- 2024-11-26cpp智能指针
普通指针的不足new和new[]的内存需要用delete和deletel]释放。程序员的主观失误,忘了或漏了释放。程序员也不确定何时释放。普通指针的释放类内的指针,在析构函数中释放。C++内置数据类型,如何释放?new出来的类,本身如何释放?C++11新增三个智能指针类型uniqu
- 2024-12-13思维与感觉知觉的区别与联系
在人类认识世界的过程中,思维与感觉知觉是两个不可或缺的心理过程。它们不仅是人类认知活动的基本组成部分,还在个体的日常生活中扮演着至关重要的角色。尽管思维与感觉知觉有着显著的区别,但它们之间的联系也是密切且复杂的。理解这两者的区别与联系,不仅有助于我们更好地认识人类
- 2024-12-10文章详情页面需要分享到第三方,包括qq、qq空间、微博、微信。
一、封装一个share.js文件,放在目录/utils下//share.js//url-需要分享的页面地址(当前页面地址)//title-分享的标题(文章标题)exportfunctiontoQQzone(url,title){url=encodeURIComponent(url)title=encodeURIComponent(title)window.open(`https://
- 2024-12-09大虫刷题 最新华为考试 部分成绩公布 HCIA HCIP HCIE 附上聊天截图及相应成绩单 有图有真相
详细情况,可搜索微信小程序《大虫刷题》查看详情。
- 2024-12-07跟我学 |低功耗模组Air724UG软件的语音通话!
大家来跟我学低功耗模组Air724UG软件的语音通话吧,我已整理成文可轻松掌握。一、音频应用-通话(VoLTE)概述Air724UG模块的4G通信功能,通过VoLTE技术实现高清语音通话。在通话过程中,声音信号通过MIC捕捉并转换为数字音频数据,经4G网络实时传输至对方设备。同时,Air724UG支持扬声