3
保證一旦std::list
或std::forward_list
項目被分配,它將保持在相同的內存位置(地址)直到被銷燬?當然,除了列表本身被複制之外。std :: list保證項目永遠不會移動到不同的內存位置?
保證一旦std::list
或std::forward_list
項目被分配,它將保持在相同的內存位置(地址)直到被銷燬?當然,除了列表本身被複制之外。std :: list保證項目永遠不會移動到不同的內存位置?
如果它可以移動,是不是會使所有指針無效?這聽起來不像是可能發生的。 –
@TrippKinetics:我的觀點正是如此。我想知道將直接指針存儲到節點是否安全,而不是始終通過'std :: list'接口訪問這些項。 –
[這個問題]的接受答案(http://stackoverflow.com/q/16027044/3549027)確認'insert'和'remove'不會使迭代器失效,但這並不完全是對問題的完全回答, IMO ... – dlf