模板
学习链接1:C++模板入门学习
学习链接2:C++模板进阶学习
STL的重要实现原理,模板的声明和定义建议放到一个文件 xxx.hpp 里面或者 xxx.h,防止编译错误。
函数模板特化
1.基础模板
2.template<>
3.函数名<特化类型>
4.参数形参保存一致
类模板特化
1.全特化
template<>
class Data<int , char>
2.部分特化
template
class Date<T1, char>
3.参数限制
template<typename T1, typename T2>
class Date<T1*, T2*>
继承
1.基类private成员在派生类中无论以什么方式继承都不可见
2.成员只想被派生类访问,使用protected
3.子类对象可以赋值给父类对象、指针或引用
4.基类对象不可赋值给派生类对象,需要通过强转才可
虚函数
虚函数与普通函数相同,存在代码段中,对象存放虚表指针,虚表实质是虚函数指针数组
编译原理
学习链接:gcc编译器编译过程分析
1.预处理
gcc -E -o file.i file
2.编译
gcc -S -o file.s file.i
3.汇编
gcc -c -o file.o file.s
4.链接
gcc -o newName file.o
gdb常见的功能说明
1.查看代码
l n
2.开始调试
r
3.退出调试
q
4.添加断点
b n :在第n行设置断点
b 函数名:在函数入口设置断点
b file:n:在指定函数第n行设置断点
5.查看断点
info b
6.删除断点
d no: 删除第几个断点
7.打开和关闭第几个断点
disable no
enable no
8.逐语句
s
8.逐过程
n
9.断点跳跃
c
10.查看变量
p name
display name
11.查看函数调用
bt