c++為我們所提供的各種存取控制僅僅是在編譯階段給我們的限制,也就是說是編譯器確保了你在完成任務之前的正確行為,如果你的行為不正確,那么你休想構造出任何可執行程序來。H如果真正到了產生可執行代碼階段,無論是c,ct+,還是pascal,大家都一樣,你認為c和C++編譯器產生的機器代碼會有所不同嗎,你認為c++產生的機器代碼會有訪問限制嗎?那么你錯了。什么const,private,統統沒有(const變量或許會放入只讀數據段),它不會再給你任何的限制,你可以利用一切內存修改工具或者是自己寫一個程序對某一進程空間的某一變量進行修改,不管它在你的印象中是private,還是public,對于此時的你來說都一樣,想怎樣便怎樣.另外,你也不要為c++所提供的什么晚期捆綁等機制大呼神奇,它也僅僅是在所產生的代碼中多加了幾條而已,它遠沒有你想象的那么智能,所有的工作都是編譯器幫你完成,真正到了執行的時候,計算機會完全按照編譯器產生的代碼一絲不茍的執行。(以下的反匯編代碼均來自visial c++ 7.0)一.讓我們從變量開始--并非你想象的那么簡單
標簽:
C++
上傳時間:
2022-06-27
上傳用戶:1208020161