**編譯環境:
作業系統: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...