其他隱式轉換
指針轉換
在使用數組時,大多數情況下數組都會自動轉換為指向第一個元素的指針:
int ia[10]; // array of 10 ints
int* ip = ia; // convert ia to pointer to first element
不將數組轉換為指針的例外情況有:
1· 數組用作取地址(&)操作符的操作數
2 或 sizeof 操作符的操作數時
3 或用數組對數組的引用進行初始化時
int ival[6] = {1,2,3,4,5,6};
int (&b)[6] = ival;
不會將數
組轉換為指針。
我們將在第 7.2.4 節學習如何定義指向數組的引用(或指針)。
C++ 還提供了另外兩種指針轉換:指向任意數據類型的指針都可轉換為
void* 類型;整型數值常量 0 可轉換為任意指針類型。
