CC++ 八股/面经

ChaChaL大约 2 分钟约 451 字...

CC++ 八股/面经

一. C++ 基础

1.1 C++ 三大待性

1.1.1 访问权限



1.1.2 封装



1.1.3 继承



1.1.4 多态



1.2数据类型



1.3 指针和引用



1.4 关键字

1.4.1 const


1.4.2 define 和 typedef 的区别


1.4.3 define 和 inline 的区别


1.4.4 override 和 overload


1.4.5 new 和 malloc


1.4.6 constexpr 和 const


1.4.7 volatile


1.4.8 extern


1.4.9 static


1.4.10 前置++ 与 后置++


1.4.11 std::atomic



1.5 C++ 强制类型转换

1.5.1 static_cast


1.5.2 dynamic_cast


1.5.3 reinterpret_cast


1.5.4 const_cast



1.6 运算符重载




1.7 C++ 内存模型

1.7.1 字符串操作函数


1.7.2 内存泄漏


1.7.3 测试题目




1.8 计算机中的乱序执行

1.8.1 副作用


1.8.2 信号量


1.8.3 future 库




二. C++ STL

2.1 STL实现原理及其实现

2.1.1 容器


2.1.2 算法


2.1.3 迭代器


2.1.4 仿函数


2.1.5 适配器


2.1.5 空间配置器


2.1.6 STL 的优点



2.2 pair 容器



2.3 vector 容器实现与扩充

2.3.1 底层实现


2.3.2 扩容过程


2.3.3 vector 源码



2.4 list

2.4.1 list 设计


2.4.2 vector 和 list 的区别



2.5 deque



2.6 stack && queue

源码



2.7 heap && priority_queue



2.8 map && set



2.9 map && unordered_map




三. C++泛型编程

C++ 模板全特化和偏特化






















四. C++ 新特性

4.1 智能指针

4.1.1 shared_ptr


4.1.2 unique_ptr


4.1.3 weak_ptr



4.2 类型推导



4.3 右值引用



4.4 nullptr



4.5 范围 for 循环



4.6 列表初始化



4.7 lambda 表达式



4.8 并发

4.8.1 std::thread


4.8.2 lock_guard


4.8.3 unique_lock




五. Effective STL




六. Effective C++