C编程语言自学笔记思维导图
2025-03-25 02:21:56 0 举报
AI智能生成
C编程语言自学笔记思维导图
作者其他创作
大纲/内容
基础语法
数据类型
基本类型
整型:int, short, long, long long, char
浮点型:float, double, long double
布尔型:bool
字符型:char
复合类型
数组:用于存储固定大小的同类型元素序列
结构体:用于存储不同类型的数据项
联合体:存储不同类型的数据,但只有一个数据成员在任何时间占用内存
枚举:一组命名的整型常量
变量和常量
变量声明:指定数据类型和名称
变量初始化:在声明时赋予初始值
常量定义:使用const或constexpr关键字定义
运算符
算术运算符:+,-,,/,%,++,
关系运算符:==,!=,>,<,>=,<=
逻辑运算符:&&,,!
位运算符:&,,^,~,<<,>>
赋值运算符:=,+=,-=,=,/=,%=,<<=,>>=,&=,^=, =
其他运算符:sizeof,?:,,,->,.,new,delete
控制结构
条件语句
if语句:基于条件执行代码块
switch语句:基于变量的值选择执行不同的代码块
循环语句
for循环:重复执行代码块直到条件不再满足
while循环:在条件为真时重复执行代码块
do-while循环:至少执行一次代码块,然后在条件为真时重复执行
函数
函数定义
返回类型:指定函数返回值的类型
函数名:函数的标识符
参数列表:函数输入参数的类型和名称
函数体:包含函数执行的代码块
函数声明
原型声明:告诉编译器函数的存在和如何调用它
默认参数
允许函数调用时省略某些参数
内联函数
建议编译器将函数调用替换为函数代码
函数重载
允许存在多个同名函数,但参数列表不同
面向对象编程
类和对象
类定义:创建自定义数据类型
成员变量:类的属性
成员函数:类的行为
对象创建:使用类定义创建实例
构造函数和析构函数
构造函数:初始化对象
析构函数:清理对象,执行清理代码
访问控制
public:类成员可被外部访问
private:类成员只能被类内部访问
protected:类成员可被派生类访问
继承
基类和派生类:派生类继承基类的属性和方法
多态
虚函数:允许派生类重写基类的方法
抽象类和接口:定义抽象方法,只能在派生类中实现
封装
隐藏实现细节:通过访问控制实现
标准模板库(STL
容器
顺序容器:如vector, list, deque
关联容器:如set, multiset, map, multimap
无序容器:如unordered_set, unordered_map
迭代器
提供对容器中元素的访问
算法
对容器中的数据进行操作
函数对象
重载()运算符的对象,可以像函数一样被调用
适配器
改变容器或函数对象的接口
分配器
自定义内存模型
错误和异常处理
错误处理
错误码:函数返回特定值表示错误
断言:检查程序中的假设条件
异常处理
try块:包围可能抛出异常的代码
catch块:捕获并处理异常
throw语句:抛出异常
输入输出(I/O
iostream库
标准输入输出流:cin, cout, cerr, clog
文件I/O
fstream库:文件输入输出流
stringstream库:字符串输入输出流
格式化I/O
设置流的格式化选项
内存管理
动态内存分配
new和delete运算符:分配和释放内存
智能指针
自动管理内存的类模板
unique_ptr:独占所指向的对象
shared_ptr:共享所指向的对象
weak_ptr:弱引用,不控制对象的生命周期
模板编程
函数模板
参数化类型,用于生成函数的通用版本
类模板
参数化类型,用于生成类的通用版本
模板特化
为特定类型提供特定实现
预处理器指令
宏定义
define:定义宏常量和宏函数
条件编译
ifdef,#ifndef,#endif:根据条件编译代码
文件包含
include:包含其他文件的内容
C++11新特性
自动类型推导
auto和decltype关键字:简化类型声明
范围for循环
简化遍历容器或数组的语法
智能指针改进
std::unique_ptr和std::shared_ptr的增强
lambda表达式
创建匿名函数对象
移动语义
优化资源的转移,减少不必要的复制
并发编程
线程库:std::thread,std::mutex等
其他特性
初始化列表,可变参数模板,用户定义字面量等
C++14和C++17新特性
C++14特性
增强的lambda表达式
二进制字面量
变量模板
聚合初始化的改进
C++17特性
结构化绑定
折叠表达式
if constexpr语句
模板参数的默认模板实参
调试和测试
调试技巧
使用调试器:如GDB,LLDB
日志记录:记录程序运行时的信息
断言:检查程序中的假设条件
单元测试
编写测试用例:测试代码的各个部分
使用测试框架:如Google Test,Boost.Test
性能优化
算法优化
选择合适的算法和数据结构
代码优化
减少不必要的计算和内存分配
编译器优化
使用编译器优化选项
并行计算
利用多核处理器进行并行处理
跨平台开发
平台相关代码
使用预处理器指令区分不同平台
跨平台库
使用如Boost,Qt等跨平台库
编译器和工具链
选择支持多平台的编译器和工具链
最佳实践
代码风格
遵循一致的编码规范
版本控制
使用Git等工具管理代码版本
文档编写
编写清晰的注释和文档
代码复用
使用库和框架减少重复代码
持续集成
自动化测试和构建过程
性能分析
使用性能分析工具优化代码
0 条评论
下一页