cpp的一些冷語法

一些不常用的語法還是需要介紹一下的,不然自以爲正確的會在上面耗時很久,雖然這些知識比較冷,但是設計出來還是有用武之地的。

腦子裏留個印象比較好。


一、一些內置類型的大小

wchar_t這個內置類型,沒有char那麼常見,不過如果是實際場景中表示中文和日文等就需要用到了。

float一般大小爲一個字的大小,即32位機器是4字節,double顧名思義是雙字8字節了。



看來long並不是真的變長了。不同編譯器分配的內存可能都不一樣的,所以用之前最好還是先sizeof一下了解大小。


二、字面值常量

int a = 10;

int b = 011;

int c = 0x11;(0X11)

分別表示十進制,八進制,十六進制數字。


結果是9.

除了這些前綴,還有後綴表示的常量,如L和U(不分大小寫)分別表示unsigned類型和long類型的。


三、引用

引用是變量的別名,使用的時候注意兩點:

1.一旦指定對象,不能更換對象。

2.聲明的時候必須初始化,即指定對象。


引用可以嵌套

一個對象可以被多次引用

 

四、typename和class的區別。

http://en.wikipedia.org/wiki/Typename
查了好多中文資料都看不懂,還是wiki比較給力。

在普通定義template函數,兩者是同義詞。

以下情況就不同了:

template <typename T>

void foo(const T& t){

 // declare a pointer to an object of typeT::bar

typename T::bar* p;

}

Now the compiler knows for sure that T::bar is a type, and will correctly makep a pointer to an object of that type.

If you have any questions or ideas ,please feel free to contact me : )

thx.^^


QQ: 1623213673


發佈了86 篇原創文章 · 獲贊 7 · 訪問量 23萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章