卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

前置雙攝 C 運(yùn)算符重載=號時,為什么返回值要用引用?而沖在重載 號時不需要?

C 運(yùn)算符重載=號時,為什么返回值要用引用?而沖在重載 號時不需要?一般來說,這里返回引用的主要目的是實(shí)現(xiàn)級聯(lián)操作,但是這里使用引用主要是為了提高效率。例如,表達(dá)式a=b=C是合法的,因?yàn)樗梢员灰?/p>

C 運(yùn)算符重載=號時,為什么返回值要用引用?而沖在重載 號時不需要?

一般來說,這里返回引用的主要目的是實(shí)現(xiàn)級聯(lián)操作,但是這里使用引用主要是為了提高效率。例如,表達(dá)式a=b=C是合法的,因?yàn)樗梢员灰暈閍=(b=C),b=C返回對b的引用。至于為什么不使用值傳遞,這是效率問題。在a=B中,很明顯B只需要提供B的每個成員變量,不需要生成B的副本,同樣,返回值是連續(xù)操作的,因此不需要生成新的副本,通過引用傳遞可以避免無用的副本。例如,對于一個有1000000個元素的單鏈接表,a=B只需要復(fù)制一次,而值轉(zhuǎn)移只需要復(fù)制三次,這顯然不劃算。另外,為了安全起見,consta&;operator=(consta&){}通常是這樣寫的,因?yàn)椴粦?yīng)該更改這些引用的屬性。