2009-08-18 44 views
0

我正在寫一個包裝應用程序,它使用了一些非託管函數,我使用了很多pin_ptr。C++/CLI - 幫助pin_ptr

我的問題是,大多數時候我在方法調用中使用pin_ptr,並且pin_ptr變量也在方法調用中聲明。當代碼走向我們的方法時,我是否可以有任何問題,因爲它不再固定?我應該將聲明移至類範圍嗎?

謝謝!

回答

2

唯一需要在託管堆上固定對象的時間是非託管函數或非託管代碼直接訪問內存中的對象(例如通過指針)。如果您的方法退出時,當前沒有任何內容正在訪問該對象的內存,則可以取消固定(只要您在下一次直接訪問它之前重新固定它)。