昨天做一個dll,代碼很快寫完了,然而使用得時候總是遇到string內部指針刪除錯誤,郁悶了一天,今天沒去公司,好好研究了一下。首先看下下面這段代碼,聲明兩個string對象:
調試狀態下可以看到內部指針:s1=0x00364ff9s2=0x00365061然后執行
按下f11,進入xstring源文件:
繼續進入assign(_X)函數:
這樣結果就是調用=號以后,s2地址和s1地址一樣,都是0x00364ff9。假如我們動態庫有這樣一個類class DLL接口:
在客戶調用時候: