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