Skip to content

C++ 现代特性(C++11/14/17/20)专题

一句话总览

C++ 面试的「新特性部分」≈ auto、右值引用 + 移动语义 + 完美转发、lambda、智能指针、constexpr、delete/default、range-for、结构化绑定、std::optional/variant/any。底层推导与原理是追问重点。

问题清单

  1. 说一下了解哪些 C++11 新特性?(面试暖场常问,需能列 8~10 个)
  2. 左值 vs 右值?左值引用 vs 右值引用?
  3. 什么是移动语义?为什么要 move?与拷贝的区别?
  4. std::move 做了什么事?它是真的「搬」吗?
  5. 完美转发 与 引用折叠规则(forwarding reference/&& 推断)?
  6. auto 推导规则(auto 剥引用/const,decltype 保留)?
  7. lambda 本质是什么?捕获方式的差异(按值/按引用/mutable/捕获 this)?
  8. constexpr vs const vs 普通函数?
  9. default/delete 的作用?
  10. nullptr 相比 NULL 优势?
  11. range-for / 结构化绑定 / if-init / using 别名 / enum class?
  12. C++17/20 新增了解哪些(fold 表达式、concepts、coroutine…)?

子文档

文件内容
index.md本总览
move-semantics.md左右值、移动语义、完美转发、引用折叠
lambda-auto.mdlambda、auto 推导
features-cpp11.mdC++11~20 特性清单 + constexpr/default/delete/nullptr
ranges.mdC++20 ranges:view 管道、投影、惰性
views-format.mdstring_view/span/format/<=>/module
coroutine:见 concurrency/coroutine.md
模板元编程:见 metaprogramming/

C++ 面试八股 · VitePress 版