• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    C++風格與技巧

    發布: 2008-4-23 16:39 | 作者: 不詳 | 來源: research.att.com | 查看: 123次 | 進入軟件測試論壇討論

    領測軟件測試網



    為什么C++不提供“finally”的構造?

    因為C++提供了另外一種方法,它幾乎總是更好的:“資源獲得即初始化”(resource acquisiton is initialization)技術;镜乃悸肥,通過一個局部對象來表現資源,于是局部對象的析構函數將會釋放資源。這樣,程序員就不會忘記釋放資源了。舉例來說:

    class File_handle {

    FILE* p;

    public:

    File_handle(const char* n, const char* a)

    { p = fopen(n,a); if (p==0) throw Open_error(errno); }

    File_handle(FILE* pp)

    { p = pp; if (p==0) throw Open_error(errno); }

    ~File_handle() { fclose(p); }

    operator FILE*() { return p; }

    // ...

    };

    void f(const char* fn)

    {

    File_handle f(fn,"rw"); //打開fn進行讀寫

    // 通過f使用文件

    }

    在一個系統中,需要為每一個資源都使用一個“資源句柄”類。無論如何,我們不需要為每一個資源獲得都寫出“finally”語句。在實時系統中,資源獲得要遠遠多于資源的種類,因此和使用“finally”構造相比,“資源獲得即初始化”技術會產生少得多的代碼。

    什么是自動指針(auto_ptr),為什么沒有自動數組(auto_array)?

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>