2013-02-21 48 views
2

C++/CLI中的託管代碼是否有辦法在算術溢出時拋出異常? C#有checked關鍵字和全局項目標誌來啓用這些,但是我在C++/CLI中都找不到......相當於C++檢查關鍵字的C++/CLI

我的情況是,我在.NET中封裝了C++庫。有時C++本機代碼溢出。我正在考慮將一些敏感的計算轉移到現有的C++/CLI包裝上,但這可能不可行?

+0

可能重複[什麼是C#等效的C#選中](http://stackoverflow.com/questions/14500593/what-is-the-c-equivalent-of-the-c-sharp-checked) – 2013-02-21 23:39:24

+0

可能的重複http://stackoverflow.com/questions/14500593/what-is-the-c-equivalent-of-the-c-sharp-checked – 2013-02-21 23:40:32

+0

唉!我們幾乎在同一時間發佈了該鏈接:D – 2013-02-21 23:41:32

回答

4

鏈接的副本沒有意義,C++/CLI遵循C++約定。 C++沒有內置的檢測算術溢出的機制。

使用檢查選中關鍵字原本計劃用於C++/CLI的未來擴展。 Ecma-372是當前的語言標準,並在附錄F.2.1中提出了此擴展。然而,這從來沒有發生過,並且不太可能實施。

您將因此必須執行自我溢出檢查。你會在this question找到一些指導。

+0

謝謝!我被這個相關的問題搞糊塗了 - 看起來很具誤導性。 – 2013-02-22 02:30:07