C/C++共79篇 第4页
引用计数怎么实现,在哪里?-不念博客

引用计数怎么实现,在哪里?

引用计数(Reference Counting)是一种内存管理技术,它主要用于跟踪对象被引用的次数。 在引用计数中,每个对象都有一个计数器,记录着当前对象被引用的次数。 当对象被引用时,计数器加1;当...
gcc的编译过程详解-不念博客

gcc的编译过程详解

预处理(Preprocessing) 输入文件:源代码文件(通常以 .c、.cpp、.c++、.h 等为扩展名)。 处理工具:预处理器(cpp)。 过程:预处理器会执行一系列的预处理操作,包括宏替换、文件包含、条...
gdb怎么调试的?打断点用什么指令?-不念博客

gdb怎么调试的?打断点用什么指令?

编译时添加调试信息:在编译程序时,需要使用-g选项,以便将调试信息嵌入可执行文件中。例如: g++ -g -o my_program my_program.cpp 启动 GDB:在终端中执行以下命令: gdb ./my_program 这将...
不念的头像-不念博客不念1年前
325
C++ STL组件有哪些-不念博客

C++ STL组件有哪些

STL 主要包含以下几个组件: 容器(Containers) 容器是用来存储数据的数据结构。STL提供了多种容器,包括向量(vector)、链表(list)、双端队列(deque)、集合(set)、映射(map)、堆栈(...
不念的头像-不念博客不念1年前
472
如何设计一个线程池-不念博客

如何设计一个线程池

设计一个线程池涉及到多个方面,包括线程的创建与销毁、任务的提交与执行、线程间的通信等。 以下不念给出的是一个简单的线程池设计思路: 线程池的结构:创建一个线程池类,其中包含一个任务队...
不念的头像-不念博客不念1年前
309
中序遍历非递归实现(迭代)-不念博客

中序遍历非递归实现(迭代)

思路: 从根节点开始,一直访问左子树,同时将经过的节点入栈。 当左子树访问完毕(为空)时,弹出栈顶元素,访问该节点,并转向其右子树,然后重复步骤1。 直到栈为空且当前节点为空时,遍历结...
const的用法及其作用有哪些-不念博客

const的用法及其作用有哪些

防止修改变量的值:将变量声明为 const 后,编译器会确保该变量的值在初始化后不能被修改。这有助于在程序中创建更加稳定和可维护的代码。 const int maxAttempts = 3; // maxAttempts = 4; // ...
不念的头像-不念博客不念1年前
452
c++和c语言有什么区别-不念博客

c++和c语言有什么区别

C是面向过程的语言,而C++是面向对象的语言。 C和C++动态管理内存的方法不一样,C是使用malloc/free函数,而C++除此之外还使用new/delete关键字。 C++的类是C里没有的,但是C中的struct是可以在...
不念的头像-不念博客不念1年前
455