C++_智能指针

C++_智能指针

bingliaolong C++ 1年前 24 0

shared_ptr 概述 C++ 标准库中的一种智能指针,用于自动管理动态分配的对象的生命周期 主要机制是通过引用计数(Reference Counting)来追踪有多少个 shared_ptr 实例共享管理同一个对象 当引用计数降为零时,对象会被自动释放 内部组成 指向管理对...

Spdlog记述:一

Spdlog记述:一

bingliaolong C++ 3年前 24 0

使用介绍 默认的 创建一个多线程日志记录器 创建的日志记录器是多线程的,这意味着它可以被多个线程同时使用,而不会发生竞争条件或数据损坏 用于创建多线程的循环日志记录器 循环日志记录器是指在达到指定大小后,会自动循环覆盖旧的日志文件并创建新的日志文件来存储日志消息 循环日志记录器还...

Effective C++_第二篇

Effective C++_第二篇

bingliaolong C++ 2年前 24 0

12 复制对象的所有部分 概述 在C++中,实现拷贝构造函数和赋值运算符时,确保复制对象的所有成员变量是至关重要的 忽略某些成员变量可能会导致不完整或错误的对象状态,进而引发难以追踪的错误 为什么要复制对象的所有部分 保持对象的一致性: 所有成员变量都应该在拷贝时保持一致,以确保...

包管理器:设计与实现

包管理器:设计与实现

bingliaolong C++ 2年前 24 0

背景 管理器用于管理多个任务 接入了管理器的模块,会根据自己要做的事情,来生成不同的任务 而这些任务的生成,是由接入了管理器的模块,通过一些重要的数据(比如目标数据包的编号,以及目标所在的位置,要求管理器执行的任务类型),来让管理器生成的不同的任务,并添加到任务队列中 目前的设计...

SOUI源码:log4z

SOUI源码:log4z

bingliaolong Soui 4年前 23 0

获取 通过一个COM接口的方式获取到一个管理器对象 ThreadHelper 是一个抽象类,接口run是抽象的 start 作为抽象基类,实现了start 主要功能是创建了一个线程(是跨平台的实现), 然后创建了一个Helper,调用了run run里面开始往列表里放数据 wai...

C++_运算符优先级&&相关性

C++_运算符优先级&&相关性

bingliaolong C++ 6年前 23 0

优先级 运算符 相关性 1 :: 左 2 ()、[]、->、 . 左 2 后缀++、后缀-- 左 3 !、 ~ 右 3 一元+、一元- 右 3 前缀++、前缀-- 右 3 寻址&、间接* 右 3 C风格的强制类型转换() 右 3 sizeof 右 3 new、new...

glog记述:概述使用

glog记述:概述使用

bingliaolong C++ 1年前 23 0

概述 Google开源的C++日志库,专为高性能、高可靠性场景设计,广泛应用于大型分布式系统(如Kubernetes) 优缺点 优点 高性能与线程安全 内部采用锁机制保证多线程安全,写入效率高(经Google生产环境验证) 异步I/O与缓冲区优化(如syncBuffer),减少系...

深入理解C++11:C++11新特性解析与应用 三

深入理解C++11:C++11新特性解析与应用 三

bingliaolong C++ 4年前 23 0

新的改变 nullptr 在C++11中,nullptr是一个所谓“指针空值类型”的常量。 nullptr类型数据所占用的内存空间大小和void*是相同的。 nullptr和(void*)0 前者是一个编译时期常量 后者只是一个强制转换表达式,返回的也是一个void*指针类型。 ...

STL_heap

STL_heap

bingliaolong C++ 6年前 23 0

简述 heap并不属于STL容器组件,它是priority queue的助手。 priority queue允许用户以任何次序将任何元素推入容器中,但取出时一定是从优先权最高的元素开始取。 binary heap是一种完全二叉树,即,整颗二叉树,除了最底层的叶子节点之外,是填满的...

C++并发编程 _ 共享数据

C++并发编程 _ 共享数据

bingliaolong C++ 6年前 23 0

概述 如果我们在线程间共享数据,我们需要设置规则,哪个线程可以访问数据的哪一位,什么时间以及如何将更改传达给关心数据的其他线程。 关键点 问题 从整体上来看,所以线程之间共享数据的问题,都是修改数据导致的。如果所有的共享数据都只读的,就没有问题,因为一个线程所读取的数据不受另一个...

扫一扫二维码分享