有沒有辦法在編譯時檢查窗體「A在B之前被破壞」的銷燬順序約束?在編譯時檢查破壞順序約束
0
A
回答
2
我不認爲這是可能的。以下面的代碼爲例:
int main(int argc, char **argv){
Object A = new Object(), B = new Object();
if(argc == 1){
delete A;
delete B;
}else
{
delete B;
delete A;
}
}
你會如何知道在編譯時哪個析構函數被首先調用?
+0
哎呀,對我很恥辱。謝謝@SteveJessop,修復。 – Yuri
0
您可以通過將命令添加到分離器來輕鬆檢查。參見(例如這裏更詳細的說明):http://msdn.microsoft.com/en-us/library/8183zf3x(v=vs.80).aspx
親切的問候, 博
+0
這不是在編譯時,而是在運行時。 – Yuri
0
它是固定的自動變量,不能固定的動態分配的對象。另外,如果你的問題是針對類的成員對象,那麼是的,它是固定的。首先在類聲明中列出的成員,它們首先被銷燬。
相關問題
- 1. scala中函數組合順序的編譯時間約束
- 2. 破壞編譯器
- 3. 使用類型爲編譯時檢查建立任意約束
- 4. iOS:視覺格式約束被破壞
- 5. 檢查約束
- 6. 檢查約束
- 7. 檢查約束
- 8. 檢查約束
- 9. 檢查約束
- 10. 檢查約束
- 11. 約束檢查
- 12. 檢查約束
- 13. 查找哪個視圖破壞約束條件
- 14. 檢查sql約束
- 15. SQL檢查約束
- 16. Oracle檢查約束
- 17. PostgreSQL檢查約束
- 18. 檢查約束SQL
- 19. SQL約束檢查
- 20. Oracle檢查約束
- 21. Oracle約束檢查
- 22. 在NHibernate中檢查約束
- 23. 在MySQL中檢查約束?
- 24. 運行時編譯順序
- 25. 「檢查約束被一些行違反」 添加檢查約束
- 26. 編譯時檢查
- 27. 約束名稱未知時的丟棄檢查約束
- 28. 在編譯時已經在XAML中檢測到破壞的綁定
- 29. 主鍵約束被破壞。值已經存在:0
- 30. Java程序不檢查SQLite約束?
「(部分)是」用於自動對象。動態對象的「否」。 – iammilind