學習譚浩強編著的《c++程式設計》過程中的一些筆記,mark一下,好記性不如爛筆頭1、cpp內建函式inline2、過載函式:一名多用
函式名相同,引數個數或者引數型別或者引數循序不同
3、函式模板(泛型)function template
template
t max(t a, t b, t c)
4、變數5、函式
1)、內部函式:僅限於本檔案中其他函式呼叫;
例如:static int fun(int a, int b)
2)、外部函式:在定義函式時,在函式最左端冠以關鍵字extern,則表示此函式時外部函式,可被其他檔案呼叫;
如果定義函式時,預設省略關鍵字extern,預設為外部函式
例如:extern int fun(int a, int b)
6、預處理指令
預處理功能3中:巨集定義、檔案包含、條件編譯
1)、巨集定義:可以用#define命令將乙個指定的識別符號(巨集)來代表乙個字串;
#define 識別符號 字串
#define pi 3.1415926
2)、檔案包含:指乙個原始檔可以將另乙個原始檔的全部內容包含進來,即將另外乙個的原始檔包含到本檔案之中;
#include 「file.cpp」
#include
7、條件編譯
1)、當指定的識別符號已被#define命令定義過,則在程式編譯階段只編譯程式1,否則編譯程式段2,#else部分可以沒有。
#endif是用來限制#ifdef命令的範圍。
#ifdef 識別符號
程式段1
#else
程式段2
#enddef
2)、當指定的表示式為真(非0),就編譯程式段1,否則編譯程式段2
#if 表示式
程式段1
#else
程式段2
#endif
8、陣列
1)、用陣列元素作函式實參
2)、用陣列名做函式引數
3)、用多維陣列名作函式引數
字元陣列定義和初始化
字串和字串結束標誌』\0』
9、字串連線函式strcat
例如:strcat(chart,const chart);
10、字串複製函式strcpy(chart,const chart)
//第乙個引數必須是陣列名,第二個引數可以是陣列名也可以是字串常量
strcpy(str1,str2);或者strcpy(str1,「china」);
strcyp(str1,str2,2);//將字元陣列str2中的前兩個字元複製到str1中
11、字串比較函式strcmp(const chart, const chart)
指將兩個字串自左至右逐個字元進行比較大小,直到遇到不同的字元或者』\0』為止。
如果全部相同,則認為字元相等;若出現不同的字元,則以第乙個不相同的字元的比較結果為準;
比較結果:
1)兩個字元相同,結果為0;
2)str1大於str2,結果為正整數;
3)str1小於str2,結果為負整數;
12、字串長度函式strlen(const chart)
測試字串長度的函式,函式的值為字串中的實際長度,不包括』\0』
chart str[10] = 「china」;
cout << strlen(str);//輸出結果為5
字元陣列應用舉例
13、指標
& 取位址運算子
i_pointer=&i; //將i的位址存放到i_pointer中
乙個變數的位址稱為該變數的指標
指標變數的值是位址
指標定義:基型別+*指標變數名;
int * ipointer;
14、指標函式
呼叫函式時不會改變實參指標變數的值,但可以改變實參指標變數所指向變數的值
15、引用&
作用是為乙個變數取乙個別名;
宣告引用時 &代表引用宣告符
例如:int a;
int &b = a;//宣告b是a的引用
區別取位址符和變數引用:
當&a前面有型別符時(int &a),它必然是對引用的宣告;
如果前面無型別符(cout << &a),則是取變數的位址
16、結構體
例如:struct student
student1,student2;//宣告結構體時並定義兩個變數
17、動態分配和撤銷記憶體的運算子new和delete
例如:int * p = new int(100);//開闢乙個存放整型的儲存空間,並指定該整型的初值為100,將返回該儲存空間的位址賦給指標變數p
delete p;
chart * pt = new char[30];
delete pt;//在指標變數前面加一對方括號,代表是對陣列空間的操作
18、共用體(聯合體)
這種使幾個不同型別的變數共占同一段記憶體的結構,稱為共用體
宣告共用體形式如下:
union 共用體名稱
;共用體與結構體的比較
結構體:結構體所佔記憶體長度是各成員佔記憶體之和
共用體:共用體所佔記憶體長度是等於最長的成員的長度
19、列舉
enum weekay;
20、使用typedef宣告型別
typedef int integer;//使用integre代表int型別
typedef float real; //使用real代表float型別
21、inline成員函式
c++要求內建函式要用inline關鍵字宣告,但對類內部定義的成員函式可以省略inline,
因為這些成員函式已經被隱含的指定為內建函式
22、析構函式
是乙個特殊的成員函式,它的作用與建構函式相反,它的名字前面帶乙個「~」符號。
當物件的宣告週期結束時,自動執行析構函式。
23、多型
向不同的物件傳送同一條訊息,不同的物件在接收時會產生不同的行為。
24、純虛函式
virtual void test() const =0;
凡是包含純序函式的類都是抽象類
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...