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

C++ 笔记 第6页

C/C++ 包管理工具汇总

在C/C++中,包管理工具主要用于帮助开发者更方便地管理项目依赖的库和头文件。以下是一些常用的C/C++包管理工具: vcpkg:由微软开发,支持Windows、macOS和Linux。vcpkg通过Git仓库维护一个庞大的库集合,可以轻松...

赞(0)菜鸟菜鸟阅读(1585)

什么悬挂指针,如何避免(C/C++)

悬挂指针(Dangling Pointer) 悬挂指针是指向已经被释放或者不再存在的内存区域的指针。当程序尝试使用这样的指针访问或修改已释放的内存时,会导致未定义行为,通常是程序崩溃或数据损坏。 示例代码(C++) #include <...

赞(0)菜鸟菜鸟阅读(1135)

什么野指针

野指针定义 野指针(Wild Pointer)是指向不确定位置或者非法地址的指针。当一个指针指向的内存被释放后,如果没有将其设置为NULL,那么这个指针就变成了野指针。使用野指针会导致未定义行为,可能引发程序崩溃或数据损坏。 代码实例 假设...

赞(0)菜鸟菜鸟阅读(986)

计算机浮点数的格式,单精度与双精度的区别

在C/C++中float是32位的,double是64位的,两者在内存中的存储方式和能够表示的精度均不同,目前C/C++编译器标准都遵照IEEE制定的浮点数表示法来进行float,double运算。 无论是float还是double,在内存...

赞(0)菜鸟菜鸟阅读(1118)

C++11中stoi函数的异常处理

stoi当字符串不符合规范时,会抛出异常,所以你应该捕获异常来做。 #include <stdexcept> #include <iostream> #include <string> using nam...

赞(65)菜鸟菜鸟阅读(1434)

循环队列详解

1. 循环队列 1.1 概念及结构 循环队列是一种特殊类型的队列数据结构,也被称为”唤醒缓冲器“。它在数组的基础上实现了循环利用空间的功能。在循环队列中,队尾和队头之间形成了一个循环,当队尾指针“追上”队头指针时,队列不再继续增长,而是继续...

赞(0)菜鸟菜鸟阅读(4097)

C++ 红黑树

红黑树 注:在学习红黑树之前,建议先对AVL树具备一定的了解 1. 红黑树的性质 和AVL树一样,红黑树也是一棵自平衡的搜索二叉树 如上图,就是一棵经典的红黑树,以下是他的性质: 红黑树同样是一棵搜索二叉树,其满足搜索二叉树的所有性质: 每...

赞(0)菜鸟菜鸟阅读(2195)

C++中定义别名的几种方式总结

背景 在代码编辑过程中,为了书写省事或者更容易理解,通常会自定义别名,包括类型别名、方法别名等。在 C++ 中定义别名有以下几种方式。 #define ①.概述 #define 是宏定义,作用就是将一个标识符定义为一个字符串,源程序中所有的...

赞(0)菜鸟菜鸟阅读(2416)

std::bind的讲解

一、在讲解std::bind之前,我们先来复习下std::function。 std::function 是一个“可调用对象”包装器,是一个类模板,可以容纳除了类成员函数指针之外的所有可调用对象,它可以用统一的方式处理函数、函数对象、函数指...

赞(0)菜鸟菜鸟阅读(1766)