1. 程式人生 > >C++學習之處理資料(下)

C++學習之處理資料(下)

1.C++新增char16_t和char32_t       其中前者是無符號的,長16位,而後者也是無符號的,但長為32位。字首u和U分別指出字元字面的型別為char16_t和char32_t型別

char16_t ch1=u'q';

char32_tch2=U'\U0000222B';

2.bool型別   在計算中布林型別的值可以是true或false.  字面值true和false都可以通過提升轉換為int型別,true被轉換為1,而false被轉換為0;

int ans = true;

int promise = false;

另外,任何數字值或者指標值都可以被隱式轉換(即不用顯式強制轉化)為bool值。在任何非零值都被轉換為true,而零被轉換為false;

3.const限制符  

const int Months = 12;

常量Months被初始化後,其值就被固定了,編譯器將不允許再修改該常量的值。注意,應在宣告中對const進行初始化。下面的程式碼不好

const int toes;

toes = 10;

如果在宣告常量時沒有提供值,則該常量的值將是不確定的,且無法修改。

如果以前使用過C語言,您可能覺得前面討論的#define語句已經足夠完成這樣的工作了。但const比 #defien好。首先,它能夠明確指定型別。其次,可以使用C++的作用域規則將定義限制在特定的函式或件中。第三,可以將const用於更復雜的型別,如陣列和結構。

提示:如果讀者在學習C+之前學習過C語言,並打算使用#deine 來定義符號常量,請不要這樣做而應使用const。

4.浮點型別可以表示小數值以及比整型能夠表示的值大得多的值。3種浮點型別分別是float、 double 和long double. C+ +確保float不比double長,而double不比long double長。通常,float 使用32位記憶體,double使用64位,longdouble使用80到128位。通過提供各種長度不同、有符號或無符號的型別,C++使程式設計師能夠根據特定的資料要求選擇合適的型別。

5.C++使用運算子來提供對數字型別的算術運算:加、減、乘、除和求模。當兩個運算子對同一個運算元進行操作時,C++的優先順序和結合性規則可以確定先執行哪種操作。

6.對變數賦值、在運算中使用不同型別、使用強制型別轉換時,C++將把值從一種型別轉換為另一 一種型別。很多型別轉換都是“安全的”,即可以在不損失和改變資料的情況下完成轉換。例如,可以把int值轉換為long值,而不會出現任何問題。對於其他一些轉換, 如將浮點型別轉換為整型,則需要更加小心。

7. 開始,讀者可能覺得大量的C++基本型別有些多餘,尤其是考慮到各種轉換規則時。但是很可能最終將發現,某些時候,只有一一種型別是需要的,此時您將感謝C++提供了這種型別。