C++拾遗录0205

该系列主要用于收集我每天在各种地方不论是刷题还是面经,看到的一些小的或者还没见过的知识点。 [TOC] 1. 什么是实型值,什么是整形值 来源:牛客选择题 在 C++ 编程中,整型值和实型值是两种基础的数字表示方式,它们的命名直接体现了各自的数学本...

map和unordered_map小记

引言在C++标准库中,map和unordered_map是两个常用的关联容器,它们都提供了键值对的存储和查找功能,但在底层实现和使用特性上却有着本质的区别。map基于红黑树实现,保证了元素的有序性,而unordered_map基于哈希表实现,追求更快...

虚!

本来想让AI帮忙总结一下关于C++虚字辈的知识点。结果一看,确实是整理了,但是真的就是纯粹的知识点的堆砌。看了一遍毫无章法。我还是自己写吧,毕竟自己才知道自己对哪一部分比较模糊陌生。 我看了一些面试题,大多数就是让你阐述一下虚函数,然后开始以此深挖。...

位运算小甜品

位运算作为计算机最底层的操作之一,其高效性源于直接对整数的二进制表示进行操作。在C++编程中,巧妙运用位运算往往能显著提升算法性能、简化代码逻辑,特别是在处理集合操作、状态压缩和性能敏感场景时表现突出。 我一直觉得位运算是个很有意思的话题。它连接了高...

new和delete(一)new与构造函数与各种初始化大乱炖

还是得勇敢直面我不会的东西。 上一篇整理了一些malloc和free相关的知识点。今天主要来看new和delete。 问起new和delete,我目前能说出来的有以下这些:new操作是在malloc申请到内存后,在申请到的内存上去调用对象的构造函数去...

malloc失败假装没事谁信(malloc内存分配相关总结整理)

今天首先很讨厌自己学了也有一阵C++了但是感觉如果让我说的话还是支支吾吾不知从何说起。感觉就是所有关键词知识点都在抢占大脑输出通道,没有逻辑章法。 第二个讨厌的就是malloc失败了假装自己没事,原因就是只返回一个void*类型,还得我们自己做一次检...

LRU把最老的赶出门犯法吗

今天来学学LRU在UE5.6引擎里的实现,之前会写大致的LRU算法,也没太关注内存有没有泄漏什么的。顺带学学C++的RAII,深入理解一下。 代码文件在此: 1Engine/Source/Runtime/Core/Public/Containers/...

进程和线程到底有什么区别

说来惭愧。每次看到这个问题,就只能想到“进程拥有资源,线程拥有cpu”之类一点不严谨的描述,两年前学的408现在忘得差不多了,导致每次看到这些问题,总感觉有万匹飞奔的载着408知识的野马从我的大脑皮层轻轻掠过。 首先,想得确实没错。进程是资源分配的基...

如何只在栈上或只在堆上创建类

如何只允许在堆上创建类?第一种思路,就是构造函数私有化,如下: 1234567891011121314#pragma onceclass OnlyOnHeap{public: ~OnlyOnHeap() = default;private:...

多继承类的虚函数表会有几张?

对于多继承类的理解,我一直感到疑惑。为什么要使用多继承呢?为什么不用组合呢?这个疑惑一会儿再来解答。今天先来探索一下多继承类下,虚函数表与虚函数表指针在内存布局的情况。 在运行任何测试代码之前,我先提出我目前的理解。如果先不考虑有菱形继承的情况。我们...

12