本題考點:c++基礎語法理解,如運算子函式過載,常量引用等
對記憶體洩漏的理解,比如當涉及到堆區資料時,要深拷貝,並且new和delete對應
**異常安全性的理解,比如如果選擇先刪除原有記憶體,在開闢新的記憶體時,如果開闢失敗(記憶體滿或其它)就會影響程式執行(指標為空指標)
#include
#include
//劍指offer 面試題1 賦值運算子函式
//如下為型別cmystring的宣告,為該型別新增賦值運算子函式
class
cmystring
;//引數建構函式
cmystring::
cmystring
(char
* pdata )
else
}//拷貝建構函式
cmystring::
cmystring
(const cmystring& str)
cmystring& cmystring::
operator=(
const cmystring& str)
return
*this;}
cmystring::
~cmystring()
}/*********************************test***********************************/
void cmystring::
print()
void
test1()
// 賦值給自己
void
test2()
// 連續賦值
void
test3()
intmain()
劍指offer 面試題1 賦值運算子函式
題目 如下為型別cmystring的宣告,請為該型別新增賦值運算子函式。class cmystring 當面試官要求應聘者定義乙個賦值運算子函式時,他對 會關注以下幾點 是否把返回值的型別宣告為該型別的引用,並在函式結束前返回例項自身的引用 即 this 只有返回乙個引用,才可以允許連續賦值。否則如...
劍指offer 面試題1 賦值運算子函式
題目要求為下面乙個類實現乙個賦值運算子的函式 class cmystring 我們要實現任意的乙個類的賦值運算子函式,都要注意一些方面 書上的解法給的確實很完備,而且後來用了一種巧妙的方法讓程式自動釋放記憶體。但我覺得重點是他提到的異常安全性的處理,這裡的話如果我們在new的時候記憶體不夠,而我們又...
《劍指Offer》面試題1 賦值運算子函式
要求 如下型別為cmystring的宣告,請為型別新增賦值運算子函式。class cmystring 測試用例 把乙個cmystring的例項賦值給另外乙個例項 把乙個cmystring的例項賦值給自己 連續賦值 本題考點 對c 基本語法的理解,如運算子過載 常量引用等。考查對記憶體洩漏的理解 對於...