通過學習第一章,已經大致知道了c++是個什麼東西,話說和c真的挺像兄弟~~
接下來學習下c++的基本內建型別,許多與c的基本型別一樣,主要注意不同的地方。
1.c++算術型別:(主要記錄我在c裡面沒有見到過的)
wchar_t 寬字元(l字元) 16bitchar16_t unicode字元 32bit
char32_t unicode字元 32bit
其中bit為c++標準規定的最小值,不同的機器上面有所差別。
2.字元型的三種型別:char, signed char 和 unsigned char。注意的是char和signed char並不一樣。
雖然字元型有三種,但是字元的表現形式卻只有兩種:帶符號的和無符號的。型別char實際上會表現為上述兩種形式
中的一種,具體實現由編譯器決定。
3.當我們賦給無符號型別乙個超出它表示範圍的值時,結果是初始值對無符號型別表示數值總數取模後的餘數。
當我們賦給帶符號型別乙個超出它表示範圍的值時,結果是未定義的。
unsigned char c = -1 ; //假設char佔8bit,則c為255
signed char c2 = 256; //
假設char佔8bit,c2的結果未定義
4.當乙個算術表示式中既有無符號數,又有int值時,那個int值會被轉換成無符號數。轉換過程與把int直接賦給無符號變數一樣。(c中的隱式轉換)
5.當從無符號數中減去乙個值時,不管這個值是不是無符號數,我們都必須確保結果不能是乙個負值:
unsigned u1 = 42, u2 = 10;std::cout
result=32
std::coutresult = after mod
6.物件是記憶體中具有型別的區域。我們可以自由地使用物件描述程式中可操作的大部分資料,而不管這些資料是內建型別還是類型別,是有名字的還是沒名字的,是可讀的還是可寫的。
7.初始化指建立變數並給它賦初始值,而賦值則是擦除物件的當前值並用新值代替。
8.變數的定義用於為變數分配儲存空間,還可以為變數指定初始值。在乙個程式中,變數有且僅有乙個定義。
9.宣告用於向程式表明變數的型別和名字。定義也是宣告:當定義變數時我們宣告了它的型別和名字。可以通過使用extern關鍵字宣告變數名而不定義它。事實上,
它只是說明變數定義在程式的其他地方。程式中變數可 以宣告多次,但只能定義一次。
10.const引用:const 引用可以初始化為不同型別的物件或者初始化為右值。
const int &value = 42;但是同樣的初始化則不能在非const引用上使用。原因如下:
double dvalue = 3.14;const
int &value = dvalue;
對於以上**編譯器做了如下轉換:
int tem =dvalue;const
int &value = tem;
如果value不是const,那麼對於value的修改,不會影響到dvalue的值,只會影響tem的值。
僅允許 const 引用繫結到需要臨時使用的值完全避免了這個問題,因為 const 引用是唯讀的。
11.typedef的目的:
a.為了隱藏特定型別的實現,強調使用型別的目的。
b.簡化複雜的型別定義,使其更易理解。
c.允許一種型別用於多個目的,同時使得每次使用該型別的目的明確。
12.如果頭檔名括在尖括號(< >)裡,那麼認為該標頭檔案是標準標頭檔案。編譯器將會在預定義的位置集查詢該標頭檔案,這些預定義的位置可以通過設定查詢路徑環境變數或者通過命令列選項來修改。
如果頭檔名括在一對引號裡,那麼認為它是非系統標頭檔案,非系統標頭檔案的查詢通常開始於原始檔所在的路徑。
今天看完了第二章,感覺像是溫習c裡面的一些基本概念,明天繼續第三章,加油~
筆記 C primer第二章 基本內建型別
一 1 c 基本內建型別 整型 浮點型 字元型 布林型別,此外還有void型別 void型別 沒有對應的值,通常用作無返回值函式的返回型別。算術型別的儲存空間依機器而定,儲存空間指的是表示該型別的二進位制位數,各類型別占用空間如下表 在vc2010下,short為16位,int 和 long 為32...
第二章 變數和基本型別 2 1基本內建型別
基本型別包括算術型別 arithmetic type 和空型別 void 算術型別分為兩類 整型 integral type,包括字元和布林型別 和浮點型。基本字元型別是char,乙個char的空間應確保可以存放機器基本字符集中的任意字元對應的數字值。wchar t型別用於確保可以存放機器最大擴充套...
第二章 變數和基本型別
第二章 變數和基本型別 1 基本內建型別 1 有效數字 float 6位 double 10位 2 符號位 使用一位符號位的表示方式的8位signed整型取值是 128到127 3 越界賦值 取值數目求模 2 字面值常量 1 無符號長整型 1024ul 2 字串 自動在末尾新增乙個空字元 3 變數 ...