指針轉換(數組退化為指針的三種情況)


其他隱式轉換
指針轉換
在使用數組時,大多數情況下數組都會自動轉換為指向第一個元素的指針: 
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 可轉換為任意指針類型。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM