移出向量總是空嗎?
問題:
已知標準庫類型的物件可以從中移出,而移動操作可能會將移出的物件保留在未指定的位置狀態,沒有明確的要求將向量排除在外。但是,移出向量怎麼可能處於非空狀態呢?
答案:
一般來說,移出向量將為空,但情況並非總是如此。
具體案例:
移出向量的行為取決於所使用的操作(移動構造函數或移動賦值)以及與向量相關的分配器。
移動建構子:
向量(向量&& v)
在這種情況下,移出向量將始終為空。移動操作需要恆定的複雜性,需要將所有權從一個向量轉移到另一個向量,使前一個向量為空。
移動賦值:
vector& 運算子=(vector&& v)
有三種情況考量:
應該注意的是,某些實作可能會選擇明確清除此中的移出向量場景,但這不是必需的。
以上是移出向量何時不為空?的詳細內容。更多資訊請關注PHP中文網其他相關文章!