- 2025-01-09深入理解C++智能指针:使用方法与注意事项
智能指针是C++标准库提供的一种工具,用于管理动态分配的内存。相比传统的裸指针(rawpointer),智能指针能够自动管理资源,避免内存泄漏和悬空指针问题。本文将围绕智能指针的基本概念、常见类型及其使用方法展开,帮助你掌握这一强大的工具。一、什么是智能指针?智能指针是一个封装了
- 2025-01-08C++二十三种设计模式之观察者模式
C++二十三种设计模式之观察者模式一、组成二、目的三、缺点四、示例代码一、组成抽象主题:维护观察者对象列表,具备通知功能。具体主题:实现维护观察者对象列表具体策略和通知功能。抽象观察者:为主题类提供更新接口。具体观察者:实现更新接口。二、目的用于一个对象
- 2025-01-071.3.1 C++新特性
文章目录1.3.1C++新特性1.智能指针1.为什么要用智能指针2.三种智能指针对比3.shared_ptr1.使用智能指针可以自动释放占用的内存2.共享所有权指针的传播和释放3.常用函数4.要注意的问题4.unique_ptr5.weak_ptr弱引用的智能指针1.基本用法2.weak_ptr返回this指
- 2025-01-07椭圆曲线ECC算法
基于“单向”数学问题,在一个方向上很简单,但在另一个方向上很困难,例如RSA是分解素数,ECC则是计算y2=x3+ax+bC语言在不使用第三方库情况下实现ECC算法比较麻烦,这里使用python和第三方库tinyec实现ECC算法安装库sudopip3installpycryptodomesudopip3installtinye
- 2025-01-05cpp智能指针
普通指针的不足new和new[]的内存需要用delete和deletel]释放。程序员的主观失误,忘了或漏了释放。程序员也不确定何时释放。普通指针的释放类内的指针,在析构函数中释放。C++内置数据类型,如何释放?new出来的类,本身如何释放?C++11新增三个智能指针类型uniqu
- 2025-01-04ubuntu 使用samba与windows共享文件[注意权限配置]
在Ubuntu上使用Samba服务与Windows系统共享文件,需要正确配置Samba服务以及相应的权限。以下是详细的步骤:安装Samba首先,确保你的Ubuntu系统上安装了Samba服务。sudoaptupdatesudoaptinstallsamba配置Samba安装完成后,需要配置Samba共享。编辑Samba的配置文件。su
- 2024-12-31【C++11】智能指针
目录指针标准库unique_ptr对应类方法创建unique_ptr对象的两种方法unique_ptr的使用特性shared_ptr类方法循环引用造成内存泄漏weak_ptrweak_ptr的创建三个方法功能例子1例子2指针普通指针:指向内存区域的地址变量当普通指针指向动态分配的内存的时候,即使这个指
- 2024-12-28cpp智能指针
普通指针的不足new和new[]的内存需要用delete和deletel]释放。程序员的主观失误,忘了或漏了释放。程序员也不确定何时释放。普通指针的释放类内的指针,在析构函数中释放。C++内置数据类型,如何释放?new出来的类,本身如何释放?C++11新增三个智能指针类型uniqu
- 2024-12-26error while loading shared libraries: libncurses.so.5: cannot open shared object file 错误解决方法
第一个错误:errorwhileloadingsharedlibraries:libncurses.so.5:cannotopensharedobjectfile解决方法:该错误的原因是因为所依赖的libncurses.so版本问题,默认依赖的版本是libncurses.so.5,但是系统上libncurses.so的版本不是5导致的。可以在/usr/lib64文件夹下查找当
- 2024-12-26C++ 杂记03 指针(二) 智能指针
C++中,智能指针与普通指针不同,是包含指针的一种类模板,用于管理动态分配的内存。智能指针的行为类似于常规指针,但是能够自动地释放所指向的对象,避免内存的泄露。智能指针通过对被引用对象进行计数的方式,或者其他机制,限制被引用的次数,避免形成循环引用。相较于常规指针,在使用完以后,
- 2024-12-25python多进程,通过内存共享来通信,使用进程锁来防止数据问题
代码:importmultiprocessingimporttime'''使用锁和multiprocessing.Value,multiprocessing.Array,multiprocessing.Manager().list'''defworker1(shared_number1,lock):for_inrange(10):withlock:
- 2024-12-23cpp智能指针
普通指针的不足new和new[]的内存需要用delete和deletel]释放。程序员的主观失误,忘了或漏了释放。程序员也不确定何时释放。普通指针的释放类内的指针,在析构函数中释放。C++内置数据类型,如何释放?new出来的类,本身如何释放?C++11新增三个智能指针类型uniqu
- 2024-12-21深入理解 C++ 智能指针:现代 C++ 中的资源管理利器
随着C++的发展,资源管理变得越来越重要。在传统的C++编程中,开发者需要手动管理内存,这容易引发内存泄漏、悬空指针等问题。智能指针是现代C++(C++11及以后)提供的解决方案,通过RAII(资源获取即初始化)理念,实现资源的安全管理。 本文将从以下几个方面深入
- 2024-12-21【C++】智能指针详解
- 2024-12-20cpp智能指针
普通指针的不足new和new[]的内存需要用delete和deletel]释放。程序员的主观失误,忘了或漏了释放。程序员也不确定何时释放。普通指针的释放类内的指针,在析构函数中释放。C++内置数据类型,如何释放?new出来的类,本身如何释放?C++11新增三个智能指针类型uniqu
- 2024-12-19Nacos共享配置(shared-configs)和扩展配(extension-config)
原文地址:https://www.jianshu.com/p/8715072d3f4c一、共享配置(shared-configs)和扩展配(extension-config)日常开发中,多个模块可能会有很多共用的配置,比如数据库连接信息,Redis连接信息,RabbitMQ连接信息,监控配置等等。那么此时,我们就希望可以加载多个配置,多个项目共享同一个配
- 2024-12-17C++ 智能指针
目录内存泄漏内存泄漏分类(了解)如何检测内存泄漏(了解)如何避免内存泄漏智能指针的使用及原理RAIIstd::auto_ptr(转移管理权,不建议使用)std::unique_ptr(防止拷贝)std::shared_ptr(引用计数)make_shared()模拟实现shared_ptrstd::shared_ptr的循环引用(导致内存泄
- 2024-12-14Docker中桌面程序研发
由于经常工作的环境基本上是在Windows系统上,如果需要研发一些Linux桌面程序就必须安装虚拟机,然后在虚拟机中研发。由于平时工作使用docker较多,想想能不能使用docker进行桌面程序研发呢要想做到这个也不复杂,毕竟Linux有大名鼎鼎的XWindowSystem(也称X11或X)。XWindow
- 2024-12-11cpp智能指针
普通指针的不足new和new[]的内存需要用delete和deletel]释放。程序员的主观失误,忘了或漏了释放。程序员也不确定何时释放。普通指针的释放类内的指针,在析构函数中释放。C++内置数据类型,如何释放?new出来的类,本身如何释放?C++11新增三个智能指针类型uniqu
- 2024-12-09智能指针中的share_ptr(共享智能指针)
初始化共享智能指针是指多个智能指针可以同时管理同一块有效的内存,共享智能指针share_ptr是一个模板类,如果进行初始化有三种方式如下:通过构造函数初始化std::makeshared辅助函数reset方法共享智能指针对象初始化完毕之后就指向了要管理的那块堆区内存,如果想
- 2024-12-08内存泄漏和智能指针
目录1.
- 2024-12-05k8s-rdma-shared-dev-plugin
文章目录前言一、创建k8s集群二、启用primarynetwork三、启用secondarynetworkk8s-rdma-shared-dev-pluginMultusCNISecondaryCNIMulti-NetworkCRD四、启用pod五、在pod中启动RoCE流量总结前言写给自己的入门篇。后续会在原理方面持续更新一、创建k8s集群k8s集
- 2024-12-03Random.Shared.Next 使用
Random.Shared.Next是.NET6引入的一个新特性,它提供了一个线程安全的随机数生成器。这意味着你可以在多线程环境中使用它,而不需要担心线程安全问题,如种子被意外修改等。Random.Shared.Next的使用方式如下:intr1=Random.Shared.Next(); //在0到int上限中随机。intr2=
- 2024-12-02CMU_15445_P3_bustub_事务与锁管理机制
CMU_15445_P3_bustub_事务与锁管理机制BUSTUB中定义了一个Query在执行的时候应该包括的基本的上下文信息,也就是类ExecutorContext.我们可以看到这个类的定义的属性为:classExecutorContext{private:/**Thetransactioncontextassociatedwiththisexecutorcon
- 2024-12-01实习,投递多份简历没人回复怎么办 二本大学生,创业赚200w,现在只想打 面试: 内存泄漏?如何避免? 什么是智能指针?有哪些种类?
二本大学生,创业赚200w,现在只想打工