当前位置: 首页 > ai >正文

C++学习知识点汇总

下面整理一个比较系统的 C++学习知识点汇总,覆盖了基础到高级的内容,分类清晰,适合查阅或系统复习。


C++ 学习知识点总览

1. 基础语法

  • 变量与基本数据类型(intfloatcharbool
  • 常量 (constconstexpr)
  • 运算符(算术、逻辑、位运算、关系、赋值)
  • 控制语句(ifswitchforwhiledo-while
  • 函数定义与调用(值传递、引用传递、默认参数)
  • 命名空间 (namespace)

2. 面向对象编程(OOP)

  • 类与对象
  • 成员函数、成员变量
  • 访问控制(publicprivateprotected
  • 构造函数、析构函数
  • 拷贝构造、拷贝赋值、移动构造、移动赋值(Rule of 3/5/0)
  • 继承与派生类(单继承、多继承)
  • 虚函数、纯虚函数、抽象类
  • 多态(运行时 vs 编译时)
  • 运算符重载
  • 友元函数与友元类 (friend)
  • this 指针

3. C++11/14/17/20/23 新特性

  • auto 类型推导
  • decltype
  • nullptr
  • lambda 表达式
  • 智能指针 (std::shared_ptr, std::unique_ptr, std::weak_ptr)
  • 移动语义与右值引用 (&&)
  • 完美转发 (std::forward)
  • 可变参数模板 (template<typename... Args>)
  • 初始化列表 (std::initializer_list)
  • enum class 强类型枚举
  • std::tuple, std::pair
  • 并发库 (std::thread, std::mutex, std::async)
  • constexprconstevalconstinit
  • conceptsranges
  • 协程(co_await, co_yield, co_return

4. 模板编程

  • 函数模板
  • 类模板
  • 模板特化(全特化、偏特化)
  • 变长模板(可变参数模板)
  • SFINAE(Substitution Failure Is Not An Error)
  • Concepts(C++20)

5. 标准模板库(STL)

  • 容器
    • 顺序容器:vector, deque, list, array
    • 关联容器:set, map, multiset, multimap
    • 无序容器:unordered_set, unordered_map
  • 迭代器(普通迭代器、反向迭代器、常量迭代器)
  • 算法(sort, find, accumulate, transform 等)
  • 函数对象 (std::function, std::bind, Lambda)
  • std::optional, std::variant, std::any
  • std::bitset
  • std::filesystem

6. 内存管理

  • new/delete, malloc/free
  • 内存泄漏与智能指针
  • 自定义内存池、Allocator
  • 栈区、堆区、静态区、常量区

7. 进阶特性

  • 类型萃取(type_traits
  • CRTP (Curiously Recurring Template Pattern)
  • 元编程(模板元编程 TMP)
  • 表达式模板(Expression Templates)
  • 零成本抽象(Zero-overhead Abstraction)
  • 编译器优化与内联 (inline, constexpr)
  • ABI 和对象模型
  • RTTI(Run-Time Type Information)与 dynamic_cast

8. 多线程与并发

  • std::thread
  • std::mutexstd::lock_guardstd::unique_lock
  • 条件变量 (std::condition_variable)
  • std::atomic
  • std::futurestd::promise
  • 线程池(ThreadPool 自实现/第三方库)

9. 网络与系统编程

  • Socket 编程(TCP/UDP)
  • 异步 IO(selectepollasync/await
  • 信号处理
  • 跨平台编程(Boost.Asio、libuv)

10. 其他重要主题

  • 日志系统(spdlog、glog)
  • 配置管理(JSON, YAML, XML)
  • 测试框架(GoogleTest)
  • 序列化(protobuf、cap’n proto)
  • 插件系统(dlopen/dlsym,或接口 + 工厂模式)
  • CMake 项目管理
  • 版本控制(Git)

附:常见学习路线推荐

阶段内容示例
入门语法、OOP、函数、数组、指针LeetCode 简单题
提升模板、STL、智能指针、异常处理写小工具,比如简易服务器
高阶并发编程、C++17、内存管理、设计模式写中型项目,比如多人聊天室、SLAM 后端
专精元编程、性能优化、操作系统接口研究 Boost、深度理解编译器优化

http://www.xdnf.cn/news/4047.html

相关文章:

  • git中android studio不想提交文件
  • 【能力比对】K8S数据平台VS数据平台
  • colcon: error: unrecognized arguments: --packages-select报错
  • GD32/STM32 ADC/DMA使用指南
  • QuecPython+腾讯云:快速连接腾讯云l0T平台
  • 巧记英语四级单词 Unit7-中【晓艳老师版】
  • 基于Jaccard算法的用户浏览历史推荐商品系统实战+springboot+vue源码实现
  • 【东枫科技】代理销售 NVIDIA DGX Spark 您的桌上有一台 Grace Blackwell AI 超级计算机。
  • [Survey]Remote Sensing Temporal Vision-Language Models: A Comprehensive Survey
  • C++【继承】
  • 1688平台商品详情接口开发指南(含Python代码示例)
  • 【东枫科技】代理英伟达产品:智能网卡
  • DTU_DTU厂家_5G/4G DTU终端_DTU模块_厦门计讯物联科技有限公司
  • 为什么Transformer推理需要做KV缓存
  • 2025年游戏行业DDoS攻防指南:智能防御体系构建与实战策略
  • 【C++】类和对象(一)
  • 【FreeRTOS-时间管理】
  • 0-1背包问题基础概念
  • 家政平台派单系统设计与实现详解
  • transformer读后感
  • Linux系统编程--基础指令(!!详细讲解+知识拓展)
  • 位运算题目:按位与为零的三元组
  • 代码训练营day56图论岛屿数量与面积
  • LIO-SAM笔记(三)适配Livox 激光雷达
  • CSS兼容性:挑战与策略
  • 新Blue引擎启动M2提示该授权文件已经到期怎么解决?
  • 第五节:图像基本操作-图像读取、显示与保存
  • 拆解GCN(Graph Convolutional Network)单层迭代公式
  • 基于MicroPython的ESP32开发
  • YOLOv8 标签透明化与可视化优化指南