const cast的真正用途 以前部落格的內容

2021-07-26 00:25:59 字數 463 閱讀 2810

不廢話,貼**。如果如下所示,最後a的結果是12,如果定義的時候把a定義為int a,就列印12.

c++ primer 原話是「如果常量本身不是常量,獲得的許可權是合法的, 如果本身是常量,使用const_cast再寫的後果是未定義的。」

所以如果單純int a,是好理解的,就是達到了我們的目的。如果a本身就是const,就是那塊記憶體被定義為const的話,這樣的結果是未定義的,在我的編譯器和機器上,這個被定義為無法改變,可是在其他機器上,就不一定了。

所以,const_cast的目的並不是為了讓你去修改乙個本身被定義為const的值,因為這樣做的後果是無法預期的。const_cast的目的是修改一些指標/引用的許可權,如果我們原本無法通過這些指標/引用修改某塊記憶體的值,現在你可以了。

#include

using namespace std;

int main(int argc, char const *argv) 

Sleep函式的真正用意

關於void sleep dword dwmilliseconds 函式,許多人都覺得,它是告訴系統,延遲多少毫秒來執行後面的 但是,在windows這樣的非實時多工系統中,我們是無法估算會睡眠多久的。因為乙個執行緒不是總是被執行的。它會在執行一段時間後,被系統暫停,然後系統又去執行另外的執行緒 於...

Sleep函式的真正用意

關於void sleep dword dwmilliseconds 函式,許多人都覺得,它是告訴系統,延遲多少毫秒來執行後面的 但是,在windows這樣的非實時多工系統中,我們是無法估算會睡眠多久的。因為乙個執行緒不是總是被執行的。它會在執行一段時間後,被系統暫停,然後系統又去執行另外的執行緒 於...

真正用來學習微機原理及彙編的好書

我買過一本微機原理 上學的教材就不算了 兩本彙編 黃皮和黑皮 都是國內的教科書,通過一段時間的學習,我感覺真的是很困難,我一直在懷疑是不是我的智商有問題,不過我沒有放棄,我共去了西單圖書大廈四趟,算是把微機原理和彙編方面的書都瀏覽了一遍,現在可以做個總結了。家不在北京的朋友,可以參考我的意見,希望通...