gpt4 book ai didi

c++ - std::move() 是否会使迭代器无效?

转载 作者:可可西里 更新时间:2023-11-01 17:49:21 24 4
gpt4 key购买 nike

<分区>

考虑以下程序:

struct list_wrapper
{
std::vector<int> m_list;
};

int main()
{
std::vector<int> myList { 1, 1, 2, 3, 5 };

const std::vector<int>::iterator iter = myList.begin();

list_wrapper wrappedList;
wrappedList.m_list = std::move(myList);

// Can I still dereference iter?

return 0;
}

调用 std::move(myList) 后,iter 现在是否指向 wrappedList.m_list 中的有效项,或者 move 构造函数/赋值是否会使所有迭代器失效?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com