六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

C++箴言:資源管理類的拷貝行為

[摘要]在上一篇文章中介紹了作為資源管理類支柱的 Resource Acquisition Is Initialization (RAII) 原則,并描述了 auto_ptr 和 tr1::shared_ptr 在基于堆的資源上運(yùn)用這一原則的表現(xiàn)。并非所有的資源都是基于堆的,然而,對(duì)于這樣的資源,像 au...
在上一篇文章中介紹了作為資源管理類支柱的 Resource Acquisition Is Initialization (RAII) 原則,并描述了 auto_ptr 和 tr1::shared_ptr 在基于堆的資源上運(yùn)用這一原則的表現(xiàn)。并非所有的資源都是基于堆的,然而,對(duì)于這樣的資源,像 auto_ptr 和 tr1::shared_ptr 這樣的智能指針通常就不像 resource handlers(資源管理者)那樣合適。在這種情況下,有時(shí),你可能要根據(jù)你自己的需要去創(chuàng)建你自己的資源管理類。

  例如,假設(shè)你使用 C API 提供的 lock 和 unlock 函數(shù)去操縱 Mutex 類型的互斥體對(duì)象:

  

  void lock(Mutex *pm); // lock mutex pointed to by pm

  

  void unlock(Mutex *pm); // unlock the mutex

  為了確保你從不會(huì)忘記解鎖一個(gè)被你加了鎖的 Mutex,你希望創(chuàng)建一個(gè)類來管理鎖。RAII 原則規(guī)定了這樣一個(gè)類的基本結(jié)構(gòu),通過構(gòu)造函數(shù)獲取資源并通過析構(gòu)函數(shù)釋放它:

  

  class Lock {

   public:

    explicit Lock(Mutex *pm)

    : mutexPtr(pm)

    { lock(mutexPtr); } // acquire resource

   

    ~Lock() { unlock(mutexPtr); } // release resource

  

   private:

    Mutex *mutexPtr;

  };

  客戶按照 RAII 風(fēng)格的慣例來使用 Lock:

  

  Mutex m; // define the mutex you need to use

  ...

  { // create block to define critical section

   Lock ml(&m); // lock the mutex

   ... // perform critical section operations

  

  } // automatically unlock mutex at end

  // of block

  這沒什么問題,但是如果一個(gè) Lock 對(duì)象被拷貝應(yīng)該發(fā)生什么? 


主站蜘蛛池模板: 午夜影院免费观看视频 | 欧美在线不卡视频 | 天天操天天舔 | 日韩一区二三区国产好的精华液 | 欲香欲色 | 日韩性网 | 天天干夜夜欢 | 日韩大片在线播放 | 日本视频在线免费 | 天天射天天草 | 五月婷婷丁香六月 | 日产毛片 | 热综合一本伊人久久精品 | 天天搞天天搞 | 日韩欧美精品综合久久 | 青青青在线视频国产 | 亚洲区欧美中文字幕久久 | 午夜色片| 日韩精品一区二区三区免费视频 | 色综合久久精品中文字幕 | 欧美怡红院免费全部视频 | 四虎在线精品 | 四虎国产在线观看 | 速度与激情9全集免费观看 速度与激情9免费完整版高清 | 亚洲高清综合 | 日韩美女在线 | 日韩欧美福利视频 | 最新欧美一级视频 | 欧美一区二区三区美人 | 欧美一级第一免费高清 | 日韩黄色一级毛片 | 一级做性色a爰片久久毛片免费 | 日日舔夜夜操 | 色噜噜狠狠色综合日日 | 一区福利视频 | 天天射天天爱天天干 | 天天躁夜夜躁很很躁 | 青青青久97在线观看香蕉 | 欧美一级视频在线观看 | 亚洲成a人片在线观看中文 亚洲成a人片在线观看精品 | 青春草视频|