成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

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

C 運算符重載=號時,為什么返回值要用引用?而沖在重載 號時不需要?一般來說,這里返回引用的主要目的是實現(xiàn)級聯(lián)操作,但是這里使用引用主要是為了提高效率。例如,表達式a=b=C是合法的,因為它可以被視

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

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