10 2025 档案
摘要:简单的理解(DeepSeek总结) 虚拟内存与物理内存的映射关系通过操作系统和硬件(如MMU)协作实现,核心是页表记录虚拟页到物理页框的映射,确保进程访问隔离且高效,这一机制解决了物理内存不足和多进程冲突问题。 深入理解 TODO 参考 1.Linux内核架构浅谈31-Linux内存管理概述
阅读全文
摘要:std::map<int, std::string> m = {{1, "one"}, {2, "two"}, {3, "three"}}; // 增 m[4] = "four"; // 使用下标插入 m.insert({5, "five"}); // 使用insert插入 这两种插入有什么区别
阅读全文
摘要:运算法则 几何解释 向量叉乘几何意义 向量叉乘得新向量的模是多变行的面积是怎么推导出来的? 这个知识由断层,忘了好像高中学了,但不知道给出了公式推导没 拓展:三角形面积也可以通过量向量的叉乘得到 拓展:探测顺时针还是逆时针
阅读全文
摘要:以下是使用C++编写的计算三角形面积的函数,使用三个点的坐标作为参数: 向量叉积公式 #include <cmath> double calculateTriangleArea(double x1, double y1, double x2, double y2, double x3, double
阅读全文
摘要:.pyc 和 .pyd 都是 Python 相关的编译文件,但它们有不同的用途和特点: .pyc 文件 含义:Python 字节码文件(Python Compiled) 特点: 由 Python 解释器自动生成 包含 Python 源代码编译后的字节码 用于提高模块加载速度(避免每次重新编译) 通常
阅读全文
摘要:分析 一些问题分析 vector 对象内存大小是?vector<vector>对象大小?(注意不是问vector所有开辟总内存容量,只是对象本身内存大小) 如果在前面回答对象大小的如果是类和结构体是由成员变量决定的。那么这里vector该如何解析? 基类无成员变量,有一个虚函数,那么继承类也无成员变
阅读全文
摘要:分析 举例 如果share_ptr指向结构体,而结构体中有成员有开辟了内存空间,如何避免内存泄漏问题
阅读全文
摘要:自定义类型数据为什么需要注册,为什么基本类型、QT容器,QT基本类型不需要注册 为什么基本类型不需要注册 1. Qt已经内置支持 // 这些类型Qt已经预先注册了 Q_DECLARE_METATYPE(int) Q_DECLARE_METATYPE(double) Q_DECLARE_METATYP
阅读全文
摘要:问题描述 在使用 Visual Studio 2022 进行 Qt 开发的过程中,尝试双击 .ui 文件以在 Qt Designer 中打开时, Qt Designer 出现了闪退现象,并弹出错误对话框,提示无法打开文件。 解决办法 VS2022菜单【扩展】|【QT VS Toos】|【Option
阅读全文
摘要:1.下载QT 从官网页面https://download.qt.io/archive/qt/下载QT。 可能你想进入5.12版本下载,出现如下错误: qt download from your ip is not allowed 由于Qt官方对部分IP地址(尤其中国大陆)实施了地理限制,阻止直接访问
阅读全文
摘要:QT信号和槽连接方式 连接方式 作用 Qt::AutoConnection (缺省值,默认值)如果信号的接收者与发射者在统一线程,就使用Qt::DirectConnection方式,否则使用 Qt::QueuedConnection方式,在信号发射时自动确定关联方式 Qt:DirectConnect
阅读全文
摘要:引用(左值引用) #include <iostream> #include <typeinfo> /* C++的引用 引用的和指针的区别? 1.左值引用和右值引用 2.引用的实例 引用是一种更安全的指针 1.引用是必须初始化的,指针可以不初始化 2.引用只有一级引用,没有多级引用;指针可以有一级指针
阅读全文
摘要:const和一级指针的结合应用 #include <iostream> #include <typeinfo> /* const修饰的量叫常量 普通变量的区别是什么?C++有两点区别?1.编译方式不同 2.不能作为左值了 const修饰的量常出现的错误是: 1.常量不能再作为左值《=直接修改常量的值
阅读全文
摘要:C中const示例 创建一个main.c文件如下 #include <stdio.h> /* C语言中 const修饰的量,可以不用初始化 不叫常量,叫做常变量 C中const就是当作变量来编译生成指令的 */ int main() { const int a;//C语言中常变量可以不给初值 /*
阅读全文
摘要:#include<list> #include<thread> #include<iostream> #include<chrono> #include <mutex> #include <atomic> /* C++ 11 窗口卖票 int cout=100; lock_guard<std::mu
阅读全文
摘要:线程基本用法 #include<iostream> #include <thread> #include <chrono> /* C++语言级别的多线程编程=>代码可以跨平台 windows/linux/mac thread/mutex/condition_variable lock_gard/un
阅读全文
摘要:容器数据接口及时间复杂度总结 以下是 C++ STL 容器的底层数据结构及增删查时间复杂度总结: 容器 底层数据结构 插入(平均) 删除(平均) 查找(平均) 备注 vector 动态数组 O(n) O(n) O(1)(索引) 尾部插入/删除 O(1) deque 分块数组 + 双端队列 O(1)(
阅读全文
摘要:参考 1.网络顶级掠食者 Wireshark抓包从入门到实战
阅读全文
摘要:参考 1.【Git “blame“ 命令详解】 2.git blame命令
阅读全文
摘要:git reset --hard git reset --mix git reset --soft
阅读全文
摘要:参考 用 git bisect 快速定位你想找的 commit 简述什么是 Git bisect?如何使用它来确定(回归)错误的来源?
阅读全文
摘要:简单工厂 #include <string> #include <iostream> /* 简单工程 Simlpe Factory(不包含在23种设计模式中) 工程方法 Factory Method 抽象工程 Abstract Factory 工厂模式:主要时封装了对象的创建 */ class Ca
阅读全文
摘要:参考 1.百度C++二面:C/C++ 中 volatile 关键字的作用? 2.C++中的关键字volatile详解 3.C++ volatile 4.C++ 高级语法:volatile
阅读全文
摘要:懒汉式单例模式 #include <iostream> /* 单例模式:一个类不管创建多少个对象,永远只能得到该类型一个对象的实例 常用到,比如日志模块、数据库模块 单例模式类型: 饿汉式单例模式:还没有获取实例对象,实例对象就已经产生了(导致程序启动时就需要实例化调用构造函数,如果构造函数需要做大
阅读全文
摘要:通过函数指针实现如下功能 #include<iostream> /* 函数对象=>C语言里面的函数指针 */ template<typename T> inline bool myless(T a, T b) //即使这里使用了inline指定为内联,但是在调用compare不是以内联方式展开调用
阅读全文
摘要:#include<iostream> /* C++的运算符重载:使对象的运算表现得和编译器内置类型一样 */ class CComplex { public: CComplex(int r = 0, int i = 0) :m_real(r), m_imaginary(i) { } //指导编译器怎
阅读全文
摘要:问题的引出 在前面的《c++类模板实现一个c++ STL里面的一个顺序容器 vector 向量容器》基础上,我们添加一个Test类。 class Test { public: Test() { std::cout << "Test()" << std::endl; } ~Test() { std::
阅读全文
摘要:#include <iostream> /* 类模板=》实现一个c++ STL里面的一个顺序容器 vector 向量容器 */ template<typename T> class vector { public: vector(int size = 10) { _first = new T[siz
阅读全文
摘要:#include<iostream> /* 类模板实现顺序栈 类模板=》实例化=》模板类 */ //template<typename > template<typename T=int> //可以加默认类型参数 class SeqStack //模板名称 +类型参数列表=类名称 { public:
阅读全文
摘要:#include<iostream> /* * C++ 函数模板 * 模板的意义:对类型也可以进行参数化 * * 函数模板 《=是不进行编译的,因为类型还不知道 * 模板的实例化《=函数调用点 * 模板函数《=才是要编译器所编译的 * * 模板类型参数 typename/class * 模板非类型参
阅读全文
摘要:实现一个String类 #include<string> #include<iostream> class String { public: String(const char* str = nullptr)//普通构造函数 { std::cout << this << "String" << st
阅读全文
摘要:一、OOP实现一个顺序栈 /* OOP实现一个顺序栈 */ class SeqStack { public: /* * 析构函数 */ SeqStack(int size = 10)//是可以带参数的,因此可以提供多个构造函数 { std::cout << this << "SeqStack" <<
阅读全文
摘要:一、OOP实现一个顺序栈 #include <iostream> /* OOP实现一个顺序栈 */ class SeqStack { public: void init(int size = 10) { _pstack = new int[size]; _top = -1; _size = size
阅读全文