今天早上碰到乙個詭異的問題:
修改c類時,為其新增了乙個指標成員,然後在析構函式中delete。
改完後按ctrl+shift+b ,執行。。。結果在模擬器上報錯kern-exec 3。
c類會預設初始化指標為null,所以析構函式中delete應該不會有問題,
除錯,原因是delete指標出錯,發現該指標的確不為null,而是0x00000044,並且在構造中顯示為指標賦值為null也會報錯(user 42)。
問題原因:
**沒有任何問題,問題在於修改標頭檔案時增加成員變數之後,沒有rebuild!
如果僅僅是build,vc是不會去檢查標頭檔案的改動,編譯順利通過,但執行時,新的成員變數在記憶體中是不確定的。
vc真是不夠智慧型。。。
C語課設心得分享 三
除錯。以前咱們寫課後習題,一般也不需要使用除錯,如果程式編譯error,根據錯誤資訊就可以改好 如果是結果錯誤,那麼在稿紙上過幾遍基本也可以得出結果。但咱們這個課設比較大,就需要很多除錯的過程,尤其是在鍊錶 開關變數的除錯上。其實我對除錯也不是很了解,但我跟大家分享一些我所接觸到的除錯方式。f10和...
c 類成員指標變數使用心得
shared ptr要求必須初始化。這樣當物件複製之後,智慧型指標指向了同一片記憶體,引用自動計數,析構沒有問題。但在不同程序間複製的時候會出現問題。不同程序指向了同一片記憶體。如果不使用智慧型指標。使用普通指標,初始化為空。在程式開始時複製的都是空指標,不同程序間複製沒有問題。但是一旦呼叫過函式,...
C 類成員指標
類成員指標 1.成員指標式可以指向類的非靜態成員的指標。類的靜態成員不屬於任何物件,因此無需特殊的指向靜態成員的指標。指向靜態成員的指標的普通指標沒有任何區別。2.當初始化乙個類成員指標時,我們令其指向類的成員,但不指定代成員所屬的物件,直到使用到成員指標時,才提供所屬的物件。3.資料成員指標 例 ...