一些不常用的語法還是需要介紹一下的,不然自以爲正確的會在上面耗時很久,雖然這些知識比較冷,但是設計出來還是有用武之地的。
腦子裏留個印象比較好。
一、一些內置類型的大小
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