菜鸟笔记
提升您的技术认知

C++ 笔记 第2页

STL内存池

菜鸟阅读 : 104赞(0)

简单说下:设计内存池的目的主要是为了解决在一些特殊的场合(比如:网络编程时接受数据包)频繁的创建和销毁、造成的大量的内存碎片和降低效率。 在STL的内存池中可以看到、它的实现是利用了一个自由链表数组、Obj** free_lists;数组中...

C++协程从入门到精通

菜鸟阅读 : 121赞(0)

(一)基本概念 协程(coroutine)是一种特殊的函数,它可以被暂停(suspend)、恢复执行(resume),并且一个协程可以被多次调用。C++中的协程属于stackless协程,即协程被suspend时不需要堆栈。C++20开始引...

C++类中成员函数声明后面的const

菜鸟阅读 : 248赞(0)

const一般是对类中成员函数属性的声明,但这个声明的位置怪怪的,只能放在函数声明的尾部,大概是因为其它地方都已经被占用了。 用const对成员函数进行声明,表示这个函数不会修改类中的任何数据成员。 如果在编写const成员函数时,不小心作...

C++内存错误检测利器—AddressSanitizer

菜鸟阅读 : 440赞(0)

自操作系统诞生以来,编写内存安全的代码一直是一个比较困难的问题 (另一个问题则是保证线程安全)。来自微软安全响应中心(MSRC)近20年来的安全数据显示,有约 70% 的安全漏洞补丁是针对内存安全漏洞的修复。 由于 C/C++ 不是一门内存...

C++反射实现—根据类名动态创建对象

菜鸟阅读 : 336赞(0)

我们在编写C++框架时,经常会涉及到一项基础技术,就是根据“一个动态库 + 一个类名称字符串“,动态的创建类对象。 这样做的好处是可以实现框架与业务代码的彻底解耦。框架不用关心业务侧的具体实现细节,只需要提供一个基类由业务方继承实现,然后业...

C++性能优化—CPU占用分析

菜鸟阅读 : 304赞(0)

软件的性能分析,往往需要查看 CPU 耗时,了解瓶颈在哪里。perf和火焰图是性能分析的利器。本文主要介绍它们的基本用法。 一、perf性能分析工具 perf (performance 的缩写)是 Linux 系统原生提供的性能分析工具,会...

std::shared_mutex读写锁

菜鸟阅读 : 405赞(0)

读写锁把对共享资源的访问者划分成读者和写者,读者只对共享资源进行读访问,写者则需要对共享资源进行写操作。C++17开始,标准库提供了shared_mutex类(在这之前,可以使用boost的shared_mutex类或系统相关api)。和其...

C++枚举类型详解

菜鸟阅读 : 369赞(0)

在 C++ 中,枚举(enum)是一种用户定义的类型,用于将一组相关的常量组合在一起。枚举可以提高代码的可读性和可维护性。下面是对 C++ 枚举类型的详细讲解。 基本枚举 基本的枚举定义方法如下: enum Color { Red, Gre...