原创 c++之重溫bool以及if和switch

bool篇 精華講解: bool類型佔用一個字節,正常cout打印爲0和1;如何打印成true和false呢? 通過std::boolalpha可將流的輸出控制爲bool 例子: int main() { bool fla

原创 c++ 之重溫指針篇

指針 Who are 有?0.0 基本簡述: c++是一種與底層接觸較多的語言,而底層無非是內存,每個內存都對應地址。而指針就是一種新的類型,只是他不像int 表示有符號整數,他只是表示的是一串十六進制的地址。在x86下,指針爲了

原创 c++之重溫string

std::string 初始化方式 //第一種 string str{ "xxxxxxxx" }; //直接初始化爲一串字符 //第二種 string str{ "xxxxxxxx",3 }; //在前面的字符串中截

原创 c++ 之字符串補充篇

string篇之補充 .c_str() 與 .data() 簡述: c++17之前: 通過.c_str()方法可得到一個const char的指針指向str儲存字符的內存空間 通過.data()方法可得到一個const char的

原创 c++ 之數組篇學習

數組 c++11之循環遍歷優化 格式: for(變量類型 變量名:數組名) 這裏的變量類型可填成員類型也可用auto類型 若類型不一致且可轉換,默認進行強轉 例子: int Students[5]{}; //學號 int nu

原创 c++之獨立和共享智能指針學習篇

unique_ptr 智能指針篇 簡介: 作爲智能指針的一種,被設計出來最關鍵的目的就是解決原生指針安全性不足的問題 聲明語法: std::unique_ptr<類型> 變量名 {初始化值}; 注意點: 最好配合std::make

原创 x86彙編第二天學習之指令大全

MOV指令格式 MOV r/m8 , r8 MOV r/m16 , r16 MOV r/m32 , r32 MOV r8 , r/m8 MOV r16 , r/m16 MOV r32 , r/m32 MOV r8 ,

原创 x86彙編學習之第一天

x86寄存器篇 通用寄存器: 32位 16位 8位 EAX AX AL ECX CX CL EDX DX DL EBX EX BL ESP SP AH EBP BP CH ESI SI DH

原创 x86彙編學習篇之DTDebug初體驗

DTDebug初體驗 首先我們下載DTDebug: 打開文件夾後如下圖所示: 注: 爲了方便我們可以右鍵exe發送快捷方式到桌面 雙擊打開exe,第一次打開會出現以下界面: 這是因爲找不到路徑導致的,我們進去後點擊option

原创 x86彙編第三天學習之堆棧以及跳轉指令

PUSH指令 功能: 1、往堆棧中壓入數據 2、棧頂指針ESP寄存器-4 格式: PUSH r32 PUSH r16 PUSH m16 PUSH m32 PUSH imm8/imm16/imm32 舉例: 堆棧圖: POP

原创 c++之類中複雜關係!!

第一種:友元 友元函數 當我們有這麼一種需求:一個函數參數爲類時,這就需要訪問類的內部成員,public成員可以訪問,那當我們需要訪問private成員的時候呢?這在c++中如何實現呢?就需要通過友元函數了! 舉例: class

原创 c++中的枚舉、自定義變量以及命名空間

c++中的枚舉、自定義變量以及命名空間 枚舉 格式: enum class 名稱 : 基本類型 { 變量1, 變量2, … } 例如: enum class COLOR : short //枚舉顏色 { RED,

原创 c++之動態內存分配篇

動態內存分配 c之malloc 函數原型: void* malloc(size_t size); 爲用戶申請size個字節大小的空間 成功返回地址,失敗返回0 常見使用方式: //第一種是錯誤的,原因是返回爲vo

原创 c++重溫之函數指針和模板篇

函數指針 引入: 何爲函數指針,和普通指針有什麼區別!函數也是一段二進制碼而已,所以也是要佔用存儲空間的,只是它的空間比普通的空間更安全。所以我們可以用指針指向它。 常用自定義形式: typedef int(*ADD)(int,

原创 c++重溫之當字符成爲串

輸出篇 單字符成串 常用英文定義形式: char str[0xFF]{ "Hello" }; //c風格 ,末尾的'\0'或者0,不要忘記 const char* strA{ "World" }; //cpp風格