45.赋值运算符
我們?cè)谝粋€(gè)類里面重載賦值運(yùn)算符的時(shí)候,有:
拷貝賦值運(yùn)算符,移動(dòng)賦值運(yùn)算符,以initializer_list為參數(shù)的賦值運(yùn)算符,復(fù)合賦值運(yùn)算符。
復(fù)合賦值運(yùn)算符不得非要是類的成員,不過(guò)我們傾向于將所有的賦值運(yùn)算符包含在類的內(nèi)部。
拷貝賦值運(yùn)算符,移動(dòng)賦值運(yùn)算符? 要考慮自賦值情況。
?
以initializer_list為參數(shù)的賦值運(yùn)算符
strvec & strvec::operator=(std::initializer_list<int>il) {auto = alloc_n_copy(il.begin(),il.end());alloc_n_copy 返回一個(gè)pair,我們之前定義過(guò)free();//釋放自身空間elements = data.first;first_free = cap = data.second;return *this; }//initializer_list為參的賦值運(yùn)算符無(wú)須檢查對(duì)象是否是自身。?
?
?
總結(jié)
- 上一篇: STL:priority_queue
- 下一篇: c-nominated = ((rche