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
最新文章
2025-07-31
C++ 标准模板库STL全解析
1 什么是STL STL(Standard Template Library)是 C++ 标准库的重要组成部分,提供了高效、通用、可复用的数据结构和算法。STL 的核心设计思想是泛型编程(Generic Programming),即通过模板机制实现算法与容器的解耦,提高代码的复用性和可维护性。 ST
2025-07-31
18
0
0
STL
C++
2025-07-31
2/150 2-27-移除元素
1 题目 27-移除元素 2 思路 双指针:将左边遇到 val 的位置,赋值为右边指针的值。注意边界情况即可。 3 题解 class Solution { public: int removeElement(vector<int>& nums, int val) { int l = 0
2025-07-31
0
0
0
面试经典150题
2025-07-31
1/150 1-88-合并两个有序数组
1 题目 88-合并两个有序数组 2 思路 将nums2合入nums1, 双指针:如果从nums1和nums2的头部开始处理,每次比较后将元素放置在nums1的当前位置,nums1的后续元素有一半概率要让出位置,整体向后移动一步,显然时间复杂度为 O(m(m+n)),太过于笨重; 双指针+额外空间:
2025-07-31
2
0
0
面试经典150题
2025-07-30
C++特性:多态
1 什么是多态 多态(Polymorphism)是C++面向对象编程的三大特性(“封装”、“继承”、“多态”)之一。它允许同一个接口在不同对象上展现不同的行为。多态的核心价值在于接口复用、代码解耦、扩展性强,实现了“对扩展开放,对修改封闭”的设计原则。 C++中的多态分为两类: 静态多态(编译时多态
2025-07-30
11
0
0
C++
基础
2025-07-28
C++原子操作:std::atomic
一、引言 在多线程编程中,数据竞争(data race)和原子性(atomicity)问题一直是开发者关注的重点。C++11 标准引入了 <atomic> 头文件,提供了类型安全的原子操作工具——std::atomic。 二、原子性与数据竞争 2.1 什么是原子操作?<
2025-07-28
25
0
0
C++
基础
2025-07-28
C++并发编程:std::async与std::future
引言 随着多核处理器的普及,C++程序员越来越需要利用并发编程来提升程序性能和响应能力。C++11标准引入了丰富的并发支持,其中std::async和std::future是最常用的异步任务和结果获取机制。 一、std::future与std::promise 1.1 什么是std::future?
2025-07-28
4
0
0
C++
基础
2025-07-24
C++ 多线程:深入理解 std::thread
引言 在 C++11 之前,多线程基本依赖平台相关 API(POSIX pthread、Windows CreateThread)。 std::thread 是 C++11 及以后 提供的跨平台线程抽象,特点: 零成本抽象:内部直接映射 pthread / WinThread RAII 语义:必须显
2025-07-24
9
0
0
C++
基础
2025-07-23
C++锁机制:条件变量(condition_variable)
1. 引言 在多线程环境中,线程经常需要等待某个条件达成后,再继续执行。 例如: 等待队列非空再消费 等待缓存刷新完成再继续 仅用互斥量 std::mutex 会导致忙等待(busy-waiting),浪费 CPU。 条件变量(condition variable,下文简称 CV)允许线程主动挂起,
2025-07-23
6
0
0
C++
基础
2025-07-22
C++锁机制:锁管理器(RAII封装器)
引言 在现代 C++ 多线程编程中,资源的同步与互斥管理是保障程序正确性和性能的核心。C++ 标准库不仅提供了多种互斥量(mutex),还为我们带来了 RAII 风格的锁管理器(Lock Manager),极大地简化了并发编程中的资源管理。 1. 基础知识回顾 1.1 互斥量(Mutex) 互斥量是
2025-07-22
12
0
0
C++
基础
2025-07-21
C++锁机制:互斥量(mutex)
一、锁的基本概念 在多线程程序中,多个线程可能同时访问和操作同一份数据,若不加以控制,将导致数据竞争(Data Race)和数据不一致。锁(Lock)是一种同步原语,能够确保同一时刻只有一个或部分线程访问共享资源,从而保证并发安全。 为什么需要锁? 并发≠并行。当多个线程访问 共享可变状态 时,必须
2025-07-21
18
0
0
C++
基础
1
...
7
8
9
10
11