筆記整理自
菜鳥c++教程
物件導向,區分大小寫
寫法:include<>
或include""
stdio.h/iostream.h/iostream的區別static:區域性變數,檔案內全域性變數
extern:所有檔案可見變數
thread_local:執行緒內變數
值:i—>j
,實參i,形參j,i賦值給j
指標:&i—>int *j
,實參i,形參j,j是i的指標
引用:i—>int&j
,實參i,形參j,i和j相同
陣列的引數傳遞:實參陣列名—>int 形參陣列名,陣列長度常數—>int i
指標的理解:int* 用來定義指標,定義int * j,定義賦值int* j=&i,賦值j=&i。理解上int和* 在一起,寫法上* 指標名在一起。引用的理解:&僅表示引用,定義賦值int& j=i。理解和寫法都是int和&在一起。`
c++中的string類
標頭檔案:
標準輸出流cout,流插入運算子 <<
cout << "value of str is : " << str << endl;
標準輸入流cin,流提取運算子 >>
char str[50];cin >> str;
cin的方法標準錯誤流cerr,<<cin.getline(str,50);代替cin>>str;
新增cin.ignore()到cin>>str後會忽略掉之前讀語句留下的多餘字元
cerr 物件是非緩衝的,每個流插入到 cerr 都會立即輸出
標準日誌流clog,<<
clog 物件是緩衝的,每個流插入到 clog 都會先儲存在緩衝區,直到緩衝填滿或者緩衝區重新整理時才會輸出
12.1 類的函式
類建構函式
類析構函式
拷貝建構函式
友元函式
this的使用
12.2指向類的指標
使用同結構體
12.3類的靜態成員
static宣告,靜態成員在類的所有物件中是共享的
13.1 繼承
13.2 過載
函式/運算子多個定義,不同定義的引數不同
13.3 多型
標頭檔案和
14.1 資料型別/類
14.2 開啟檔案
宣告物件,使用物件中的open方法
第乙個引數為檔名稱和位置,用雙引號
第二個引數為檔案被開啟的模式,多模式用 | 分隔
14.3 關閉檔案
方法close();
14.4 寫入檔案
用ofstream/fstream的物件(其本身是類,物件是該檔案),<<,同cout物件
14.5 讀取檔案
用ifstream/fstream的物件,>>,同cin物件
14.6 檔案位置指標(本身是方法)
檔案位置指標:seekg(長整型,定位模式)
定位模式:不寫預設從頭開始,ios::cur當前位置,end末尾
記憶體分為兩個部分16.1 分配記憶體棧:在函式內部宣告的所有變數都將占用棧記憶體。
堆:這是程式中未使用的記憶體,在程式執行時可用於動態分配記憶體。
一般是通過指標為指標指向的變數分配記憶體,此時指標一般初始化為null,即=null。
16.2 動態分配記憶體
所需記憶體大小需要執行時才能確定
16.3 new分配記憶體,delete**記憶體
16.4 陣列的動態記憶體分配
16.5 物件的動態記憶體分配
觸發訊號:ctrl c或raise(sigint訊號函式名);用於生成訊號
標頭檔案:#include
20.1 建立執行緒
先定義執行緒變數,多個變數使用陣列。pthread_t 執行緒名
執行緒建立函式
執行緒退出
20.2 執行緒傳遞引數
形參:void *新變數名,空指標
函式中建立乙個對應變數型別的指標變數,將形參轉換為對應變數型別的指標並賦值給剛建立的指標
此方法同用於所有以結構體作為實參的傳遞
C 自學筆記
本次記錄結構體,還請各位大佬批評指正!結構體屬於使用者自定義的資料型別,允許使用者儲存不同的資料型別 整型 浮點型 字元型 布林型 即不同資料型別的集合所組成的乙個型別。建立學生資料型別,然後通過學生資料型別建立具體的學生。通過結構體建立變數的方式有三種 1 struct 結構體名 變數名 2 st...
C 自學筆記
本次記錄程式的記憶體分割槽模型,還請各位大佬批評指正!c 程式在執行時,將記憶體大方向劃分為4個區域 1 區 存放函式體的二進位制 有作業系統進行管理 寫的所有 放在該區域 2 全域性區 存放全域性變數和靜態變數以及常量 3 棧區 由編譯器自動分配釋放,存放函式的引數值,區域性變數 4 堆區 由程式...
C 自學筆記
本次記錄函式提高,還請各位大佬批評指正!在c 中,函式的形參列表中的形參是可以有預設值的。語法 返回值型別 函式名 引數 預設值 注意事項 1 如果某個位置有預設引數,那麼從這個位置之後,從左往右都必須有預設值。2 如果函式的宣告有預設引數,那麼函式的實現就不能有預設引數。宣告和實現只能有乙個有預設...