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

C++ 笔记 第5页

C++ 什么是虚函数?什么是纯虚函数,以及区别?(通俗易懂)

菜鸟阅读 : 1554赞(0)

前言 虚函数使得面向对象编程中的多态性得以实现,能够更灵活地处理不同派生类的对象,提高代码的可扩展性和可维护性。 虚函数 虚函数(Virtual Function)是在面向对象编程中用于实现动态多态性的一种机制。通过将基类中的成员函数声明为...

什么叫魔术数字?

菜鸟阅读 : 1387赞(0)

在计算机编程中,“魔术数字”(Magic Number)是一个没有明确含义或上下文解释的特定数值。它直接硬编码在代码中,而不是通过变量、常量或者计算得出,这使得代码的可读性和可维护性降低。魔术数字的存在使得其他开发者在阅读代码时难以理解该数...

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

菜鸟阅读 : 981赞(0)

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

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

菜鸟阅读 : 765赞(0)

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

什么野指针

菜鸟阅读 : 679赞(0)

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

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

菜鸟阅读 : 750赞(0)

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

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

菜鸟阅读 : 1011赞(65)

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

循环队列详解

菜鸟阅读 : 3018赞(0)

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

C++ 红黑树

菜鸟阅读 : 1790赞(0)

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

std::thread线程类及传参问题

菜鸟阅读 : 1138赞(0)

一. std::thread类 (一)thread类摘要及分析 class thread { // class for observing and managing threads public: class id; using nativ...