可能重複:
What is the difference between const int*, const int * const, and int const *?C++函數聲明常數變量
我想了解如何const
作品函數參數。 void function(int const *&i);
和void function(const int *&i);
之間的區別是什麼?如果您舉了一個實施例和i
的用法,我將不勝感激。
可能重複:
What is the difference between const int*, const int * const, and int const *?C++函數聲明常數變量
我想了解如何const
作品函數參數。 void function(int const *&i);
和void function(const int *&i);
之間的區別是什麼?如果您舉了一個實施例和i
的用法,我將不勝感激。
它們是相同的,從右側剛讀它到左:
第一個例子:i是一個常數整數的指針的引用。
第二個例子:我是一個整數常量指針的引用。
const的放置只改變指針兩側的東西。例如:
const int* i
指:i是一個指針指向一個恆定整數
而int* const i
指:i是一個常量指針爲整數。
這些聲明是等價的。有關更多信息,請參閱this page。
爲const正確性最好的地方就是 - C++ FAQ Lite
它們都是一樣的。
它意味着對指向const int的指針的引用。
我可以給這個函數賦i一個變量嗎,如果是的話,怎麼樣? – ibrahim 2011-05-02 19:39:17
@ibrahim:當然可以。你可以照常做。像這樣'i = p;'其中'p'是可隱式轉換爲'const int *'的某個值。 – 2011-05-02 20:22:00