模板元编程 (Template Meta Programming)
C++ 的模板功能不仅限于编译时代码生成,更可实现元编程。例如:
- 类型计算(Type Traits)
- 静态多态(Static Polymorphism)
- 编译时递归(Compile-time Recursion)
智能指针 (Smart Pointers)
现代 C++ 中,unique_ptr
、shared_ptr
和 weak_ptr
管理资源生命周期,避免内存泄漏:
unique_ptr
:独占所有权,自动释放shared_ptr
:共享所有权,引用计数weak_ptr
:弱引用,配合lock()
使用
并发编程 (Concurrency)
C++11 起支持多线程编程,核心特性包括:
std::thread
:线程创建与管理std::mutex
/std::lock_guard
:线程同步std::atomic
:原子操作避免竞态条件
RAII 模式 (Resource Acquisition Is Initialization)
通过构造函数获取资源,析构函数释放资源:
- 确保资源安全(如文件句柄、网络连接)
- 异常安全(资源在异常中自动释放)
- 示例:
std::unique_ptr
实现 RAII
高级语法技巧
- 右值引用(Rvalue References)与移动语义(Move Semantics)
constexpr
:编译时常量表达式- 模板特化(Template Specialization)与偏特化