c 中的unchecked是什麼意思,起什麼作用

2021-04-23 05:44:35 字數 1006 閱讀 1662

checked與unchecked    

對於因為整數型別參與算術操作和型別轉換時產生的「溢位異常」——system.overflowexception,在某些演算法來講不算真正的「異常」,相反這種溢位常常為程式所用。c#通過引入checked和unchecked關鍵字來控制這種特殊情況的需求。它們都可以加於乙個語句塊前(如: checked),或者乙個算術表示式前(如:unchecked(x+y)),其中加checked標誌的語句或表示式如果發生算術溢位,則丟擲system.overflowexception型別的異常,而加unchecked標誌的語句發生算術溢位時,則不丟擲異常。下面是乙個示例:      

using    system;    

class    test    

catch(system.overflo2wexception    e)    

finally    

}    

unchecked    

catch(system.overflowexception    (e)    

finally    

}    

}    

}    

程式輸出:    

system.overflowexception:    arithmetic    operation    resulted    in    an    overflow.    

at    test.main()    

0    

1410065408    

可以看到同樣的算術操作,用checked丟擲了溢位異常,而unchecked只是將溢位的位丟棄而得到剩下的32位組成的十進位制整數值。值得指出的是可以用「/checked」編譯器選項指定整個檔案的**為checked語義,如果沒有指定則預設為unchecked。如果同時在程式**中指定 checked或unchecked標誌,又有了checked編譯器選項,則除了標誌為unchecked的**外,其餘的都有checked語義。

c 中的unchecked是什麼意思,起什麼作用

c 中的unchecked是什麼意思,起什麼作用?checked與unchecked 對於因為整數型別參與算術操作和型別轉換時產生的 溢位異常 system.overflowexception,在某些演算法來講不算真正的 異常 相反這種溢位常常為程式所用。c 通過引入checked和unchecke...

C 中類中的this是什麼this?

在c 的類中經常遇到this,但是this究竟是何物?相信很多新人肯定有這樣那樣的疑惑。this後面經常帶乙個箭頭如 this data data云云。下面就先舉乙個例子 include iostream using namespace std class point point int a,int...

C 中的delegate是什麼?

1.c 中的delegate是什麼,有什麼用?delegate是委託,類似於在c語言中的函式指標,類a的方法m給類b使用,在類b中可以呼叫方法m.這裡委託是吧方法作為引數傳遞。1.1delegate和函式指標的區別?函式指標只能指向靜態的函式,但是delegate修飾的函式既可以引用靜態函式,有可以...