讀 的疑惑總結

2021-07-10 18:37:08 字數 856 閱讀 6539

**編譯環境:

作業系統:red  hat  5.6  i386 

編譯器:  gcc  4.1.2

條款05:了解c++默默編寫並呼叫哪些函式

如果某個base classes將copy assignment操作符宣告為private,編譯器將拒絕為其派生類生成乙個copy assignment??

#include namespace contestjia

~noncopyable(){}

private:

noncopyable(const noncopyable &);

noncopyable& operator=(const noncopyable&);

};}class home : public contestjia::noncopyable

};int main()

疑惑:如果派生類沒有生成合成版本的賦值運算子,那應該不會隱式呼叫基類的賦值運算子,就不會出現編譯出錯,提示訪問了基類的私有成員。

條款06:若不想使用編譯器自動生成的函式,就該明確拒絕。

將copy constructor或copy assignment宣告為private,可以阻止類物件的copy和賦值,然而member函式或friend函式還是可以呼叫這些private,但會引發鏈結錯誤。

#include class home

void assignment(const home &hs)

private:

home& operator=(const home &hs)

}};int main()

近期疑惑和總結

1 使用ajax完成功能的四個步驟 1 建立xmlhttprequest物件 2 建立到伺服器連線 3 設定伺服器在完成後的 函式 4 傳送請求 其中在第二步會使用到open 其中的引數分別代表資料提交方式 get post 資料提交位址 url 是否非同步 2.value和val 的使用場景 1 ...

C 疑惑解答總結(二)

我們知道自增 自減運算子有字首和字尾兩種形式 int y a int y a 第 種情況下 a先將值賦給y,再執行加1操作 首先複製乙個副本,將其加1,然後將複製的副本返回 第 種情況下 a值加1,然後返回結果 對於內建型別,採用哪種格式不會有差別 但對於使用者定義的型別,如果由使用者定義的遞增和遞...

SKIN 使用總結 及 疑惑。

我試驗過了0.1.3和2.0,3.0版本的skin 1,skin 不同版本的用法不同,ssk檔案的格式也不同,所以不可以混用。2.x和3.x的應該相同,但是跟0.1.3的不同 2,在0.1.3版本的檔名 skinplusplus.h,skinplusplus.lib,skinplusplus.dll...