今天,逛了逛 問答社區,
在C++ 裡,看到有人問關於 const_cast 的東西,
正好在 <
翻了翻書,上網搜了搜,
發現還挺好玩....
題主問的是如何將一個設定為 const 的 double 類型數組 在運行期間 對它再解除const,然後改動數組內容。
> 首先,明確一下,
對於 const_cast
這個東西,只是對於指針 和 引用 解const,對於變量,就會出現問題。
比如,看下面這段代碼:
const int a=789 ; int &b = const_cast(a); int *c = const_cast (&a); cout< 運行一下:
很好玩吧~。~
> 然後,對於這個問題,
因為是數組,數組屬於指針的范疇了,
我就試著寫了寫,
發現,
通過一個中間變量,還是可以改動原來的const的內容的:
const double arr[3] = {1.2,3.3,4.5}; int i; for(i=0;i<3;++i) cout<(arr[0]); for(i=0;i<3;++i) cout< 結果還是可以的
OK,就是這樣,
挺有意思的東東~。~