亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++代碼舉例分析

發布時間:2021-11-29 15:52:12 來源:億速云 閱讀:150 作者:iii 欄目:編程語言

這篇文章主要介紹“C++代碼舉例分析”,在日常操作中,相信很多人在C++代碼舉例分析問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C++代碼舉例分析”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

所以 v 應該調用它們的析構函數。但是假設在這個調用期間,第二個 Widgets 的析構函數又拋出一個異常。現在有兩個異常同時在活動中,對于C++代碼解析來說這太多了。在非常巧合的條件下發生這樣兩個同時活動的異常,程序的執行會終止或者引發未定義行為。

在本例中,將引發未定義行為。與此相同,使用任何標準庫容器(比如,list,set),任何 TR1中的容器,甚至是一個數組,都可能會引發未定義問題。并非必須是容器或數組才會陷入麻煩。程序夭折或未定義行為是析構函數引發異常的結果。

即使沒有使用容器或數組也會如此。C++ 不喜歡引發異常的析構函數。 這比較容易理解,但是如果你的析構函數需要執行一個可能失敗而拋出異常的操作,該怎么辦呢?例如,假設你與一個數據庫連接類一起C++代碼解析

class Widget {   public:  ...  ~Widget() { ... } // assume this might emit an exception  };   void doSomething()  {   std::vector<Widget> v;   ...  } // v is automatically destroyed here

為了確保客戶不會忘記調用 DBconnection 對象的 close,一個合理的主意是為 DBConnection 建立一個資源管理類,在它的析構函數中調用 close。這樣的資源管理類將在以后的文章中探討,但在這里,只要認為這樣一個類的析構函數看起來像這樣就足夠了:

class DBConn { // class to manage DBConnection   public: // objects  ...  ~DBConn() // make sure database connections  { // are always closed   db.close();  }   private:  DBConnection db;  };    它允許客戶像這樣編程:   {    // open a block   DBConn dbc(DBConnection::create()); // create DBConnection object   // and turn it over to a DBConn   // object to manage   ... // use the DBConnection object   // via the DBConn interface  } // at end of block, the DBConn  // object is destroyed, thus  // automatically calling close on  // the DBConnection object

既然能成功地進行C++代碼解析那就好了,但是如果這個調用導致了異常,DBConn 的析構函數將散播那個異常,也就是說,它將離開析構函數。這就產生了問題,因為析構函數拋出了一個燙手的山芋。

到此,關于“C++代碼舉例分析”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

阿瓦提县| 巴南区| 金秀| 岫岩| 高台县| 阜平县| 丹棱县| 衡山县| 英山县| 武川县| 英德市| 塔城市| 保靖县| 读书| 顺昌县| 灵山县| 渭南市| 方山县| 峡江县| 遂平县| 通山县| 电白县| 中山市| 丰顺县| 广州市| 永安市| 左权县| 布尔津县| 南部县| 田东县| 长葛市| 重庆市| 百色市| 开鲁县| 彭山县| 恭城| 石渠县| 和平区| 平顶山市| 富阳市| 祁阳县|