c++的物件導向四大特性:
a. 封裝 b. 抽象 c. 繼承 d. 多型c++基本語法:
c++可以定義為物件的集合,物件通過呼叫彼此的方法進行互動。物件是類的例項。
資料型別:七種基本資料型別:
a. 布林型 bool變數宣告:b. 字元型 char
c. 整型 int
d. 浮點型 float
e. 雙浮點型 double
f. 無型別 void
g. 寬字元型 wchar_t (typedef short int wchar_t)
可以在多個檔案中多次宣告變數(使用extern可以在任何地方宣告變數),但只能在乙個檔案中定義同乙個變數。變數作用域:
a. 函式或**快內部:區域性變數常量:b. 函式引數:形式引數
c. 所有函式外部:全域性變數
固定值,定義後不再改變。整數常量:
十進位制/八進位制(字首基數0)/十六進製制(字首基數0x/0x)定義常量的方式:
a. #define把常量定義為大寫字母。b. 使用const
資料修飾符型別:signed/unsigned/long/short
型別限定符:
a. const: 常量在程式執行期間不能被改變;儲存類定義函式/變數的範圍和生命週期:b. volatile:編譯器不優化volatile宣告的變數,讓程式可以直接從記憶體中讀取變數。
c. restrict ;
a.auto(c++17開始,auto不再是儲存類說明符)c++陣列:固定大小/相同型別元素的集合。b.register(c++17開始,register被棄用)
c.static: i. 修飾區域性變數,可以在函式呼叫之間保持區域性變數的值; ii. 修飾全部變數,使變數的作用域限制在宣告它的檔案內; iii. 修飾類資料成員,導致僅有乙個該成員的副本被類的所有物件共享
d.extern: i. 提供全域性變數的引用,全域性變數對所有檔案都是可見的; ii. 使用"extern"時,對於無法初始化的變數,會把變數名指向之前定義過的儲存位置; iii. extern是用來在另乙個檔案中宣告乙個全域性變數或函式;
e.mutable: i. 僅適用於類的物件。允許物件的成員替代常量。mutable成員可以通過const成員函式修改;
f.thread_local: i. 其宣告的變數,在建立執行緒時建立,在銷毀執行緒時銷毀; ii. 僅僅用於資料宣告和定義,不能用於函式宣告和定義。
a. 連續記憶體,索引訪問;c++字串:使用字元』\0』終止的一維字元陣列。b. 宣告陣列,需指定元素型別與數量;
c. 初始化陣列;
d. 多維陣列;
e. 指向陣列的指標:陣列名是指向陣列第乙個元素的常量指標;
f. 傳遞陣列給函式: i. 陣列型別自動轉換為指標型別,因而實際傳的是位址;ii. 對於函式而言,陣列的長度無關緊要,因為c++不會對形式引數執行邊界檢查;
g. 從函式返回陣列:i. c++不允許返回完整的陣列,但允許返回指向陣列的指標(不帶索引的陣列名可以表示乙個指向陣列的指標); ii. 如果想從函式返回乙個陣列,則必須宣告乙個返回指標的函式; iii. c++不支援在函式外返回區域性變數的位址,除非定義區域性變數為static變數;
a. strcpy() b. strcat() c.strlen() d. strcmp() e. strchr() f. strstr()c++中的string類
#include
c++指標
a. 所有指標的值的實際資料型別,都是代表乙個記憶體位址的長的十六進製制數。引用:b. null指標,空指標,值為0,表明該指標不指向乙個可訪問的記憶體位置,如需檢查空指標,使用if();
c. 指標的算術運算:++/–/+/-;
d. 變數指標可以遞增,陣列不能遞增,因為陣列是乙個常量指標;
e. 指標的比較:==/;
f. 指標陣列:陣列的每個元素都是指標;
g. 指向指標的指標:多級間接定址 h. 傳遞指標給函式: i. 只需宣告函式引數為指標型別; ii. 能接受指標作為引數的函式,也能接受陣列作為引數; iii. 從函式返回指標:和從函式返回陣列類似,宣告乙個返回指標的函式即可。
a. 引用變數是乙個別名,它是某個已經存在變數的另乙個名字;c++標準庫沒有提供日期型別,繼承c語言用於日期和時間操作的結構和函式,b. 引用與指標的對比: i. 不存在空引用,引用必須連線到乙個合法的記憶體;指標可以為空指標; ii. 一旦引用被初始化為乙個物件,就不能指向另乙個物件。指標可以在任何時候指向其他物件; iii. 引用必須在建立時初始化;指標可以在任何時間初始化;
c. 把引用作為返回值: i. 當返回引用時,注意被引用的物件不能超出作用域; ii. 返回乙個對區域性變數的引用是不合法的; iii. 可以返回乙個對靜態變數(static修飾)的引用。
#include
c++基本的輸入輸出
#include #include
cout/cin/cerr/clogc++資料結構
a. 使用者自定義的可用的資料型別,允許儲存不同型別的資料項;深度學習網路總結b. struct type_name{} object_name;
c. 訪問結構成員,成員訪問運算子(.);
d. 結構作為函式引數;
e. 指向結構的指標,使用指向結構的指標訪問結構的成員,必須使用->運算子;
f. typedef
機器學習演算法及其應用場景
演算法與資料結構(leetcode 題解)
cuda程式設計與並行優化
其他讀書分享如:《戰國策》,《智囊全集》
宇宙常識科普與星座辨別等等
html 基礎標籤 簡要筆記
html hyper text markup language 超文字標記語言 web三大基石之一 html,http,url html,用於頁面的規範化展示,超文字含義 不僅僅是文字,還包含其他的樣式。標記語言 可以理解為一種標籤語言,以成對的標籤,開始標籤和結束標籤成對出現,結束標籤中包含 丟失...
MySql簡要筆記
1.連線資料庫 mysql hlocalhost u username p password 2.顯示所有資料庫 show databases 3.建立資料庫 create dbname 4.刪除資料庫 drop dbname 5.開啟資料庫 use dbname 6.建立一張表 create ta...
Git簡要筆記
1.刪除某個資料夾的版本控制資訊 git rm r n cached 檢視當前路徑下有哪些檔案會被刪除。git rm r cached 刪除當前路徑下檔案。2.git建立版本庫 切換到專案所在目錄,將所有的檔案新增到並版本庫 git init git add 新增單個檔案 git add pom.x...