1.vector
可以方便的進行陣列的元素管理1. 引用vectorvecdouble = ; //容器的宣告和賦初始值
vecdouble.push_back(4.4); //尾部新增元素
//原始方法遍歷容器內元素
for(int i = 0; i < vecdouble.size(); i++)
//迭代器方法遍歷容器內元素
vector::iterator it;
sort(vecdouble.begin(), vecdouble.end()); //公升序排序容器內元素
for(it = vecdouble.begin(); it!=vecdouble.end(); ++it)
reverse(vecdouble.begin(), vecdouble.end()); //降序排序容器內元素
for(it = vecdouble.begin(); it!=vecdouble.end(); ++it)
簡化指標宣告和賦值過程,可以直接傳遞位址從而簡化傳遞過程2.動態分配記憶體int num = 101;
int& ref_num = num;
cout << num << endl;
cout << ref_num << endl;
ref_num = 102; //可以直接修改引用達到修改原值的功能
cout << ref_num << endl;
const int& c_ref_num = 103; //常量賦值需要最前加const關鍵字,當然也不能更改數指
cout << c_ref_num << endl;
1) newint *ptr = new int; //動態分配記憶體
*ptr = 10;
delete ptr; //刪除之前所分配的記憶體
程式執行中臨時分配一定位址給予變數(在堆記憶體中分配,不佔記憶體位址)不要建立兩個指向同一記憶體塊的指標,有可能誤刪兩次
2)delete//不能這樣哦,會誤刪兩次哦!!!
int *ptr = new int;
int *ptr2 = ptr;
delete ptr;
delete ptr2;
3.程式的記憶體分配int *intarray = new int[10];
delete intarray; //使用delete可釋放陣列型指標
4.函式指標//棧區
int num = 100;
int nums[10];
int *ptr_num = nullptr;
//堆區
double * darray = new double[10];
darray[0] = 0.11;
delete darray;
int (*ptrfunction)(int, int); //宣告函式指標
ptrfunction = function; //函式指標賦值
(*ptrfunction)(int, int); //函式執政呼叫
宣告中的()是必須的,要不然就是宣告指標函式,即為返回值為指證的函式呼叫中的()可以不加
函式指標可以做函式引數,格式以宣告函式的格式一致
int (*ptrfunction)(int, int); //宣告函式指標陣列
c++11特有功能auto ptrfunction = function; //函式指標賦值自動型別(推斷需要確保變數的型別與初始型別一致)
//需要初始化,防止野指標
typedef int (*ptrfunction)(int, int); //簡化型別定義
ptrfunction ptrfunc;
line int function (int); //宣告內聯函式
line int function (int)
主要用於類的訪問解釋:類似於#define,將內容直接替換到呼叫的地方目的:這樣可以提高程式的執行速度
使用建議:若呼叫函式所用的時間較長於函式執行的時間,那麼建議使用內聯函式(**執行時間短,內容簡單,記憶體使用量較大)
tip:1. 定義時(實現時)inline關鍵字可以省略。大**量時,編譯器會忽略inline,而還原成乙個函式
的2-1的一節也有引用的內容1.函式引數引用型別將引用變數做函式引數時,函式將使用原始資料,而非副本2.函式返回值引用型別當資料所佔記憶體比較大時,建議使用引用引數
引用引數中使用const關鍵字可以避免引數被無意修改
不要返回區域性變數引用型別C 學習筆記( )
一 語法 迴圈 foreach 型別識別符號 in 表示式 code 用法 例子int temp foreach int num in temp 每次從temp取乙個元素賦給num直至取完 console.writeline n num 每行顯示乙個元素 執行結果 c 中唯讀 只寫控制 class ...
C 學習筆記
1.函式特徵 有函式頭和函式體 接受乙個引數 返回乙個值 需要乙個原型。2.c 命名規則 在名稱中只能使用字母字元 數字和下劃線 名稱的第乙個字元不能是數字 區分大寫字母和小寫字母 不能將c 關鍵字用作名稱 以兩個下劃線或下劃線和大寫字母打頭的名稱被保留給實現 編譯器及其使用的資源 使用,以乙個下劃...
c 學習筆記
屬性 屬性開頭字母大寫 屬性可以判斷輸入的非法值 屬性本身不儲存值 依靠字段 索引器 using system using system.collections.generic using system.linq using system.text namespace b try catch exc...