使用广泛的计算机程序设计语言。通用程序设计语言,支持多重编程模式
本文记录了将 Boost C++ 库(版本 1.83.0)成功交叉编译到 HarmonyOS PC 平台的完整过程。Boost 使用其独特的 Boost.Bui...
斐波那契数列不仅是数学概念,更是编程学习的经典案例。通过不同的实现方法,我们可以深入理解算法效率、编程范式和性能优化的核心思想。
本文直面面试核心,系统梳理五大关键容器:从Vector的连续内存优势与扩容代价,到List的灵活插入与查找局限;从红黑树维持Map/Set有序性的平衡原理,到D...
本文将带你穿越C++容器的迷雾森林:从vector动态扩容的数学玄机,到emplace_back比push_back快在哪的微观真相;从红黑树与哈希表的世纪对决...
在并发编程中,你是否曾困惑为何简单的 a++ 在多线程环境下频繁出错?C++ 的原子操作背后究竟隐藏着怎样的硬件级秘密?当面对四种类型转换时,你是否清楚何时该用...
欢迎来到C++面试的“底层视角”。本文将从编译器与内存的隐秘规则出发,为你揭示那些语法背后的深层逻辑。我们将直面整型长度在不同平台下的潜规则,剖析const在变...
重点:指针占用独立的内存,需要手动管理内存。不存在指向控制的引用,但是可以有指向空值色指针。
上一篇文章中我们介绍了二叉搜索树,我们讲到,在不良的插入顺序下,二叉搜索树会退化为单支树,将会丧失查找的优良性能。所以我们希望通过一种插入规则(又将其称为平衡规...
到今天,我们已经基本熟悉了C++的基础语法,之前我们学习的数据结构基础是使用C语言来描述的。那么今天对于进阶的数据结构我们使用C++语言来进行描述。本篇我们将学...
上篇文章我们知道了虚表的存在,虚表中存储了虚函数的指针,所以sizeof()展现出来会包括指针的大小,那么今天我们从原理的角度来理解一下多态。
这篇文章重点介绍C++中的多态特性。前面我们知道了,派生类中可以调用基类中的方法,对于同名的函数我们有隐藏的相关概念。但是现实可能存在一个问题,就是基类中的方法...
继承 (inheritance) 机制是面向对象程序设计 使代码可以复用 的最重要的手段,它允许程序员在 保 持原有类特性的基础上进行扩展 ,增加功能,这样产...
本篇内容主要包括非典型模板参数、类模板的特化、模板的分离编译。对于C++模板还不是很了解的小伙伴可以先看一下这篇文章:《C++模板:让你的代码更通用更优雅》
优先队列使用vector作为底层容器,并且在vector中加入堆算法,将vector构造成了一个堆,所以可以说优先队列就是一个堆,所以在碰见堆的时候就要想到优先...
因为我们是将stack写成一个自定义类型,所以构造函数、析构函数都不需要我们自己写,编译器会自动调用。
在开始讲解list的常见接口之前,我们先来了解一下list中的迭代器:list中的指针是一个自定义类型的指针,该指针指向list中的某一个节点。
问题引入 在上一篇文章中我们详细讲解了vector的常见接口及其模拟实现,大家可以自行参阅:【C++】STL--Vector使用极其模拟实现,但是我们在接口...
vector在日常的使用非常广泛,我们应该熟悉它的常用接口。接下来我们从基础的接口开始,学会它的使用及模拟实现。
上一篇文章我们讲解了string类的构造、拷贝构造、赋值及其模拟实现 下面是我们本篇文章的主要内容:
PS:typename是用来定义模板参数的关键字,也可以使用class,但是不能用struct替换class。