模板
學習鏈接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