今天武林技術頻道小編為大家解析c++中的默認operator=操作的詳解,我們在開發項目的時候都會使用到operator=操作,那么什么時候該使用它呢?帶著這些疑問,一起來學習吧!
對于一個類,編譯器會提供非無用的operator=操作的情形:
1該類是含有虛成員函數(繼承自虛基類,或者繼承的基類含有虛成員函數也屬于這種情況)
2該類繼承的基類自定義了operator=操作(如果基類沒有自定義operator=操作,但是編譯器會為基類提供非無用的默認operator=操作,也屬于這種情況。這就是說,只要基類有一個非無用的operator=操作就行,不管這個非無用operator=操作是自定義的,還是編譯器提供的都行)
3該類含有成員對象,該成員對象自定義了operator=操作(如果成員對象沒有自定義operator=操作,但是編譯器會為成員對象變量提供非無用的默認operator=操作,也屬于這種情況。這就是說,只要成員對象變量有一個非無用的operator=操作,不管這個非無用的operator=操作是自定義的,還是編譯器提供的,都行)
并且,如果類自定義了operator=操作,編譯器只是負責調用,不會額外提供任何拷貝過程;對于編譯器提供的默認operator=操作,不管是無用的還是非無用的,都只執行淺拷貝。
以上就是解析c++中的默認operator=操作的詳解,讀完上面的內容后,相信你在操作的時候更加有信心,如果你覺得我們的網站內容符合你的需要,請收藏武林技術頻道吧!
新聞熱點
疑難解答
圖片精選