我正在尋找避免託管C++(CLI)溢出。在C#中有一個未經檢查的關鍵字,在C++中,溢出不會以例外情況出現。什麼是C#等效的C#檢查
僅供參考,未經檢查記錄在here。基本上,如果你這樣做:
unchecked
{
int1 = 2147483647 + 10; //this overflows in CLI but is ok in C# and C++
}
在C#中也不會溢出,但轉換採取最低顯著位爲int。例如,當您計算散列碼時,這是適當的。
注意:我意識到沒有等效的C++關鍵字,但有些位移應該可以做到;
'unchecked'是默認行爲(除非被編譯器覆蓋)。 – leppie
在託管的C++(CLI)中,您將遇到溢出異常。我在編輯這個問題。 –
@downvoters - 爲什麼? –