Home
Interview
工作经历
Q&A
LeetCode
高频考题
面试经典150题
C++
知识点
STL
基础
Python
Django
基础
Linux
性能分析 tools
Windows
Course
李宏毅 ML/DL
Linear Algebra
Archives
About
疯狂的TalentQ
累计撰写
102
篇文章
累计创建
0
个标签
累计收到
0
条评论
栏目
Home
Interview
工作经历
Q&A
LeetCode
高频考题
面试经典150题
C++
知识点
STL
基础
Python
Django
基础
Linux
性能分析 tools
Windows
Course
李宏毅 ML/DL
Linear Algebra
Archives
About
目 录
CONTENT
以下是
C++
相关的文章
2025-09-18
静态链接 & 动态链接
静态链接 (Static Linking) 时机:在程序编译/链接期完成。 行为:链接器将程序所有用到的静态库(.a/.lib)中的代码和数据,直接复制到最终的可执行文件中。最终生成的是一个完全自包含的独立文件。 动态链接 (Dynamic Linking)
2025-09-18
2
0
0
知识点
C++
2025-09-18
C++ 从源文件到可执行文件经历的过程
0 概述 四个步骤:预处理(Preprocessing)-> 编译(Compilation)-> 汇编(Assembly)-> 链接(Linking) 1 预处理 输入:原始的C++源文件(.cpp, .h, .hpp) 输出:经过处理的“纯”C++文件(通常为 .i 或 .ii 后缀) g++ -
2025-09-18
6
0
0
知识点
C++
2025-09-13
C++ mutable
1 概念 mutable 关键字用于声明一个类的成员变量,表示该变量即使在 const 成员函数中也可以被修改。这打破了常规的 const 成员函数不能修改类成员的限制。 class ClassName { mutable type member_name; // ... }; 2
2025-09-13
0
0
0
C++
知识点
2025-09-13
C++ 函数隐藏(Function Hiding)
1 概念 函数隐藏指的是派生类中定义的函数会"隐藏"基类中同名的函数,无论参数列表是否相同,基类的同名函数都会被隐藏。 通过派生类对象无法直接访问被隐藏的基类函数,需要使用 对象::基类名::函数 的格式才能访问。 2 原理 C++的名称查找遵循以下规则: 首先在当前类作用域中查找名称 如果找到,停
2025-09-13
3
0
0
C++
知识点
2025-09-11
C++ 深拷贝和浅拷贝
浅拷贝 (Shallow Copy) 是什么:编译器默认生成的拷贝构造函数和赋值运算符重载函数进行的拷贝就是浅拷贝。它进行的是按成员拷贝(member-wise copy),即简单地将原对象的每个成员的值复制给新对象。 对指针的影响:如果对象中有指针成员,浅拷贝只会复制这个指针变量本身(即内存地址)
2025-09-11
0
0
0
C++
知识点
2025-09-11
C++ 优化多线程程序,需要考虑什么?
减少锁的竞争 缩小临界区:只将必须互斥的代码用锁保护起来,尽快释放锁。避免在临界区内进行耗时操作(如I/O、复杂计算)。 使用更细粒度的锁:不要用一个“大锁”保护所有数据。使用多个锁保护不同的数据,允许线程并行访问不同的资源。(例如,一个锁保护用户列表,另一个锁保护日志文件)。 使用读写锁:如 st
2025-09-11
2
0
0
知识点
C++
2025-09-11
C++ 无锁结构
C++ 无锁结构是一种通过原子操作(如 std::atomic 及其 compare_exchange_strong/weak CAS 操作)而非互斥锁来实现线程安全并发访问的数据结构。 它的核心优势在于避免了锁带来的死锁、优先级反转和高争用下的性能开销,能提供更可预测的低延迟。 然而,实现正确的无
2025-09-11
3
0
0
C++
知识点
2025-09-11
IPC & RPC
IPC 和 RPC 是不同层面的通信概念。IPC 解决的是本地多进程如何协作通信的问题,是操作系统提供的基础机制,比如管道、消息队列和最快的共享内存。而 RPC 解决的是分布式系统下如何透明地调用远程服务的问题,它是一种高层设计模式,通常需要序列化、网络传输等服务发现等组件支持。 RPC 的目标是让
2025-09-11
5
0
0
知识点
C++
2025-09-11
进程间通信、线程间通信
进程间通信 (IPC - Inter-Process Communication): 痛点:进程拥有独立的虚拟内存地址空间。一个进程无法直接访问另一个进程的内存数据。 核心目标:突破隔离壁垒,在不同的地址空间之间交换数据。 本质:通信需要经过操作系统内核的协助,或者通过一块双方都能访问的共享区域。
2025-09-11
1
0
0
C++
2025-09-11
C++ 零拷贝(Zero-Copy)
C++ 中的零拷贝是一系列旨在消除不必要内存拷贝的技术,核心思想是让不同实体共享数据而非复制数据,以此大幅提升 I/O 密集型应用的性能。 传统的数据操作:涉及 4 次上下文切换(用户态/内核态切换)和 至少 2 次数据拷贝(内核态->用户态,用户态->内核态) 主要实现手段包括: 使用 sendf
2025-09-11
6
0
0
C++
知识点
1
2
3
4
5