C++ (CPP)
2022-03-02 12:11:05 147 举报
AI智能生成
C++,也被称为C++编程语言,是一种通用的、过程式的计算机程序设计语言。它支持过程化编程、面向对象编程和泛型编程。C++是C语言的扩展,增加了一些新的语言特性,如类(class)和对象(object),以及操作符重载等。C++的设计目标是提供一种能以高效、便携的方式编写软件的工具。 C++被广泛用于开发各种类型的软件,包括操作系统、游戏、浏览器、数据库系统等。它的设计使得它可以很容易地与其他语言进行交互,如汇编语言、机器语言和许多其他高级语言。此外,C++还提供了丰富的库和框架,使得开发者可以更快速地开发出复杂的应用程序。
作者其他创作
大纲/内容
《C++ Primer》<br>
C++基础
C++11新特性
类型相关
类型操作
decltype
explicit
类型
constexpr
nullptr
reference<br>
rvalue
lvalue
smart pointer<br>
shared_ptr<br>
unique_ptr
weak_ptr
template
class 类<br>
成员函数
= default
= delete<br>
类类型
final
iterator 迭代器<br>
auto
begin<br>
表达式<br>
lambda 表达式<br>
range for 范围for<br>
regular 正则化表达式<br>
内存管理
move<br>
new / delete<br>
异常
noexcept<br>
变量与基本类型<br>
内置类型<br>
基本类型<br>
算数类型
无符号
unsigned xx<br>
有符号
整型<br>
int
long long<br>
浮点型
float
double
字符类型
char<br>
string(cpp)
void 空类型<br>
数组类型
数组指针<br>
数组引用
复合类型
指针<br>
指针操作<br>
访问对象
复合类型声明
指针的指针<br>
指针类型<br>
空指针<br>
void*<br>
野指针
垂悬指针
函数指针
数组指针<br>
智能指针<br>
auto_ptr<br>
unique_ptr<br>
shared_ptr
weak_ptr
<font color="#B71C1C"><b>this </b></font>指针
指针与地址<br>
引用
右值引用
左值引用<br>
左值与右值<br>
字面值常量<br>
转义符<br>
类型
前缀<br>
Unicode 16 / u<br>
Unicode 32 / U<br>
后缀
unsigned / u<br>
long / l<br>
long long / ll<br>
long double / L<br>
整型和浮点型
字符/字符串
变量操作<br>
初始化<br>
初始值
列表初始化
默认初始化
声明与定义
命名标识符
作用域<br>
块作用域<br>
全局作用域
作用域嵌套
存储期<br>
块作用域静态变量<br>
外部链接静态变量<br>
类型处理
typedef 关键字<br>
auto 类型<br>
decltype 函数<br>
size_t 类型<br>
const 限定符<br>
const 常量<br>
const 引用<br>
const 指针<br>
顶层/底层 const<br>
常量表达式<br>
const / constexptr<br>
static 关键字<br>
类型转换<br>
隐式转换<br>
算术转换
其他转换<br>
显示转换<br>
强制类型转换 cast<br>
static_cast <br>
dynamic_cast
const_cast <br>
reniterpret_cast
旧式强制类型转换
类型转换
bool -> 非 bool<br>
浮点 -> 整数<br>
无符号 与 有符号
隐式类型转换
自定义类型
class 类<br>
template 模板<br>
struct 结构体<br>
C与C++的struct的区别
结构体⾥⾯有没有构造函数和析构函数
常见运算符<br>
基本概念<br>
运算符分类<br>
一元运算符<br>
二元运算符
三元运算符
运算符重载<br>
优先级与结合律<br>
图表
<br>
<br>
<br>
运算符
溢出与运算异常
关系运算符
赋值运算符
递增与递减运算符
成员访问符
位运算符<br>
sizeof运算符<br>
表达式与语句
简单语句<br>
空语句
复合语句
条件语句
if else<br>
switch
循环语句<br>
while<br>
do while<br>
for(init ; con ; exp)
范围 for(auto: )
跳转语句<br>
goto<br>
break
continue
异常处理
try / catch<br>
throw
语句作用域
块<br>
语句
函数操作
概念<br>
返回类型<br>
形参 / 实参<br>
函数体<br>
调用运算符<br>
局部对象<br>
声明 / 定义<br>
参数传递<br>
引用传递 / 值传递<br>
指针形参<br>
管理<br>
const 形参与实参<br>
数组形参<br>
数组引用<br>
main参数
可变形参函数<br>
返回 / return<br>
无返回值函数<br>
有返回值函数<br>
返回左值<br>
列表初始化返回值
主函数 main 返回值<br>
返回数组指针<br>
尾置返回类型
默认实参<br>
语言特性<br>
内联函数<br>
constexpr函数<br>
const 函数<br>
函数指针<br>
函数重载<br>
调试
assert 预处理宏<br>
NDEBUG 预处理变量<br>
Class 类<br>
访问控制与封装<br>
名字查找
类类型
类的声明<br>
<b>友元</b> friend<br>
友元函数
友元类
类类型
聚合类
<b>字面值</b>常量类
类成员<br>
<b>可变数据</b>成员
<b>类静态</b>成员
类成员再探<br>
类函数<br>
成员函数<br>
返回 *this 成员函数<br>
成员内联函数<br>
重载成员函数
构造函数<br>
默认构造函数
委托构造函数<br>
转换构造函数
拷贝构造函数
成员列表初始化
explicit 构造声明<br>
移动构造函数
析构函数<br>
了解STL基础 <br>
命名空间 using<br>
string 对象
C 风格字符串
vector 容器<br>
iterator 迭代器<br>
数组对象<br>
指针与多维数组<br>
for 简化<br>
C++标准库<br>
IO库
IO类<br>
条件状态
输出缓冲
文件输入输出
string 流<br>
顺序容器
容器操作<br>
迭代器
前向迭代器
输出迭代器<br>
swap函数
泛型算法
基本算法
排序<br>
lambda表达式<br>
关联容器
pair类型<br>
关联容器操作
迭代器<br>
添加删除<br>
无序容器<br>
动态内存
直接管理内存<br>
智能指针<br>
auto_ptr<br>
unique_ptr<br>
shared_ptr
语法<br>
自定义实例<br>
与 new 结合使用<br>
异常<br>
weak_ptr
类设计者工具<br>
OOP 面向对象<br>
OOP概述
<font color="#B71C1C"><b>A : B </b></font>继承
动态绑定
基类和派生类<br>
定义基类<br>
成员函数与继承
访问控制与继承
定义派生类<br>
派生类中的虚函数
派生类型转换
静态成员与继承
<font color="#B71C1C"><b>final</b></font> 防止继承发生
类型转换与继承<br>
基类不能向派生类转换<br>
实例对象之间不存在类型转换<br>
虚函数<br>
默认实参<br>
回避虚函数机制
<font color="#B71C1C"><b>= 0</b></font> 纯虚函数
实现原理<br>
抽象基类<br>
纯虚函数<br>
初始化直接基类
访问控制与继承<br>
拷贝控制<br>
拷贝赋值销毁
拷贝构造函数<br>
拷贝初始化
拷贝赋值运算符
重载赋值运算符<br>
析构函数<br>
=default<br>
阻止拷贝<br>
=delete
private 拷贝控制<br>
对象移动<br>
移动构造函数
移动赋值运算符
右值引用<br>
std::move()<br>
深拷贝/浅拷贝<br>
重载运算<br>
基本概念
输入和输出
类型转换<br>
模板与泛型编程
模板定义<br>
函数模板<br>
类模板<br>
模板实参推断<br>
std::move()<br>
高级主题<br>
异常处理
命名空间<br>
继承<br>
多重继承
构造函数<br>
作用域<br>
虚继承<br>
访问权限限制<br>
保护继承<br>
私有继承
公有继承
内存分配<br>
内存泄漏<br>
内存泄漏分类<br>
如何判断是否内存泄漏
内存泄漏的几种情况
常量存放位置<br>
C++/C的内存分配
<br>
自由存储区与堆是否等价
不同平台下int和指针的大小
C++中四种cast类型转换
<b><font color="#B71C1C">new / malloc </font></b>相关<br>
new / delete 步骤<br>
malloc原理
new/delete与malloc/free的区别
多次delete引发的问题<br>
new 创建和不用new创建类对象区别<br>
delete 与 delete[] 区别<br>
编译原理
C++源码到可执行文件经历的过程
编译机制
预处理器<br>
头文件
库文件
静态链接库<br>
动态链接库<br>
《Effective C++》<br>
让自己习惯C++<br>
视C++为语言联邦<br>
C 风格<br>
面向对象OOP
泛型编程<br>
STL 标准库<br>
尽量以 const, enum, inline 替换 #define<br>
数值常量
字符常量
表达式<br>
尽可能用到 const<br>
const 语法<br>
const 成员函数<br>
在 const 和 non-const 成员函数中避免重复<br>
确定对象被使用前已先被初始化
构造/析构/赋值运算
资源管理
设计与声明<br>
实现
继承与面向对象<br>
模板与泛型编程
面试问题<br>
虚函数<br>
虚函数实现原理
虚函数表
虚指针
虚函数表存储<br>
默认的析构函数不是虚函数原因
基类析构函数必须是虚函数原因
回避虚函数机制
虚函数能否被overload<br>
纯虚函数
运行时<font color="#B71C1C"><b>多态</b></font>是怎么<font color="#D32F2F"><b>实现</b></font>的
静态成员函数为什么不能声明为虚函数
构造/析构函数<br>
C++中析构函数的<b>作用</b>
类<font color="#E65100">析构顺序</font><br>
编译器<b>自动生成</b>默认构造函数的情况
<font color="#E65100">默认析构</font>函数<b>不是</b><font color="#E65100">虚函数</font>原因
<font color="#E65100">构造函数</font><b>不能为</b><font color="#E65100">虚函数</font>
<font color="#E65100">基类析构函数</font><b>必须为</b><font color="#E65100">虚函数</font><br>
成员<b><font color="#B71C1C">初始化列表</font></b>中给成员赋值和在<b><font color="#B71C1C">构造函数体内</font></b>给成员<b><font color="#B71C1C">赋值</font></b>有什么<b><font color="#B71C1C">区别</font></b>
拷贝构造函数为什么要⽤<b>引用</b>
指针和引用<br>
数组名与指针的区别
指针和引用的区别
函数指针
智能指针
继承
继承关系之间的转换规则
防止继承的发生
菱形继承
基本概念
const<br>
什么是多态性
静态多态和动态多态区别<br>
覆盖、重载、隐藏<br>
初始值与赋值
#include<br>
Java 和 C++ 之间比较<br>
C与C++区别<br>
内存管理
设计思想
引用
运行机制<br>
C语言是怎么进行函数调用
C语言参数压栈顺序
C表达式调用顺序<br>
C++如何处理返回值
C++中拷贝赋值函数的形参
C++函数栈空间的最大值
常量存放在内存的位置<br>
隐式类型转换
unsigned int x = 0; x-- 是多少<br>
常见关键字<br>
静态变量static
static 关键字的作用
局部静态变量
const 限定符<br>
const在c和c++中的区别
global 全局变量<br>
inline 内联<br>
inline 定义与优缺点<br>
内联函数与一般函数区别
处理inline的两个阶段<br>
typename和class
extern 声明
STL容器
iterator<br>
STL中迭代器的作用
迭代器和指针的区别
STL迭代器是怎么删除元素
resize和reserve的区别
map/multimap<br>
map与set
unordered_map原理<br>
STL容器是否是线程安全的
Class 类 <br>
C++的struct和class的区别
异常
段错误
栈溢出
传参方式<br>
按值传参
按(左值)引用传参
按常量引用传参
右值传递<br>
算法试题<br>
给定一个三角形,判断某点是否在该三角形内.
<a href="https://leetcode-cn.com/problems/design-log-storage-system" class="h-5 hover:text-primary-s dark:hover:text-dark-primary-s opacity-60">设计日志存储系统</a>
无序数组找中位数
反转链表<br>
模拟vector<br>
0 条评论
下一页
为你推荐
查看更多