一、知識點
1、基本內(nèi)置類型(算術(shù)類型和void類型)
2、字面值常量和變量
3、const限定符
4、引用
5、typedef名字
6、枚舉
7、類類型
8、頭文件
二、要點
1、const限定符
魔數(shù):在上下文中沒有體現(xiàn)出來,好像這個數(shù)是魔術(shù)般的從空中出現(xiàn)的。如下面的“512”這個數(shù)

for (int i = 0; i != 512; ++i)
{
//
..
}
使用const限定符需注意:
(1)、定義的const的變量仍難是一個左值,但是這個左值是不可修改的;且在定義時必須初始化;
(2)、const變量默認都是文件局部的,如果想被其他文件訪問,必須在前面加入extern。如:
file_1.cpp:
extern const int bufszie = 512; // 定義,需要賦初值

fiel_2.cpp:
extern const int bufsize;

.

for (int i = 0; i != bufsize; ++i)
{
//
.
}
2、引用
引用(reference)就是對象的另一個名稱;非congst引用只能綁定到與該引用相同類型的對方上,const引用可以綁定到不同但相關(guān)的類型對象或綁定到右值。
重點:const引用,指向const對象的引用。
1、賦值
const int ival = 1024;
const int &refVal = ival; // 這個是正確的賦值
int &ref2 = ival; // 這個是錯誤的賦值(ref2是可以重新賦值,這樣導致ival的值會被改變,但ival是const的,所以這樣賦值是不允許的)
2、初始化
double dval = 42.12;
const int &r1 = 42; // 用右值(字面值常量)初始化
const int &r2 = dval; // 用不同那個類型的對象初始化,這里的r2 = 42。如果r2不是const的話,這樣初始化是錯誤的。
3、typedef
typedef可以用來定義類型的同義詞。格式為:typedef + 數(shù)據(jù)類型 + 標識符。
4、枚舉(enum)
格式:enum enumName(l可選) {enumerator1, enumerator2,...}
(1)、枚舉成員都是常量表達式(在編譯器編譯是就能計算出結(jié)果的整型表達式,或整型字面值常量);
(2)、默認的第一個枚舉成員是0,后面的每個枚舉成員都比前一個大1;
(3)、枚舉成員值不是唯一的:enum Points { p1 = 1, p2, p3 = 2, p4},這其中p1=1,p2=2,p3=2,p4=3;
(4)、枚舉類型的對象初始化或賦值時,只能通過該類型枚舉的某個成員進行。
5、類類型
注意class和struct的區(qū)別:唯一區(qū)別,默認情況下,struct的成員為public,class的成員為private。
6、頭文件
在const變量是用常量表達式初始化時,可以將它定義在頭文件中;如果不是,則不應該在頭文件中定義。