程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++ 的 const和const_cast

C++ 的 const和const_cast

編輯:關於C++

 

今天,逛了逛 問答社區,

在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,就是這樣,

挺有意思的東東~。~

 

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved