Effective C++ 第六條Explicitly disallow the use of complier- genera
若不想使用編譯器自動生成的函數(shù),就該明確拒絕
這一點和第五天結尾總結相對應,當我們考慮到拒絕使用某些編譯器自動生成的函數(shù)(拷貝構造、賦值),我們應該明確聲明

這樣即可防止拷貝構造和賦值操作被調用,其余的也類似。
補充
C++ 11 以后如果不希望使用這些函數(shù)應該按照如下風格寫,清晰易懂

再順便介紹一下友元函數(shù)的使用,假如你并不是希望拷貝構造不被調用而是不希望顯式的被調用,可以使用友元函數(shù)和友元類。

按照這個例子,既可以防止拷貝構造和賦值被顯式調用,也可以留出接口供 Test 類使用。
標簽: