初探boost之noncopyable學習筆記

2022-08-02 12:54:15 字數 983 閱讀 3894

同意程式輕鬆實現乙個不可複製的類。

需包括標頭檔案

#include或

#include

在c++定義乙個類時。假設不明白定義複製建構函式和複製賦值操作符。編譯器會為我們自己主動生成這兩個函式。

比如class empty_class ;

實際上類似於

class empty_class

empty_class & operator=(const empty_class &)

};但有時候我們不要類的複製語義,希望禁止複製類的實現。比較常見的做法就是私有化複製建構函式和賦值操作符,

手寫**也非常easy。如:

class do_not_copy

;但假設程式中有大量這種類,反覆寫**也是非常麻煩的,解決方法也不夠優雅。

noncopyable為實現不可複製的類提供了簡單清晰的解決方式:

從 boost::noncopyable 派生就可以。

這裡使用預設的私有繼承是同意的。顯示的寫出private或public修飾詞也能夠。效果同樣。

我們定義的子類會自己主動私

有化父類noncopyable的複製建構函式。從而禁止使用者從外部訪問複製建構函式和複製賦值

函式。以上樣例也改寫為:

class do_not_copy :boost::noncopyable

;#include#include#includeusing namespace std;

using namespace boost;

class student:boost::noncopyable

; int print()

private:

int id;

};int main()

{ student st(100);

cout<

若沒有繼承noncopyable

輸出:100

100若繼承,如上述**,在凝視那句開始報錯。

APUE之執行緒初探

執行緒 什麼是執行緒?很多介紹都是 輕量級的程序 不過感覺執行緒的定義一直都比較模糊,沒有找到什麼具體的定義。倒是覺得 程序是資源分配的最小單位,執行緒是排程的基本單位 這個說法算是比較認可的。現在主要探索的就是apue中提供的關於執行緒的相關函式。執行緒標示 和程序一樣,執行緒也有自己的id,li...

初探ArrayList之刪除

1.返回刪除元素的刪除方法 public e remove int index 下標檢查,如果大於陣列的size,丟擲異常 private void rangecheck int index 2.返回乙個boolean值的刪除方法 2.1傳進來null,刪除第乙個值為null的值 注意此時加入了兩個...

雅思之聽力初探

第二問 第六段有乙個很難的片語,fiddle with order about意思是擺弄。第八題,第八段的第3句,重聽了很多次都聽不懂。第八段第四句 第九題,第九段的第二句和第十段的第一句 第十題,第十一段的第二句和第十二段的第一句。第14題是完全得要自己理解的 好多長句,聽得我頭疼 第15題 第1...