再会。
如果我理解正确,Fail-Fast 迭代器将立即失败(通常通过抛出异常),如果它们检测到它们正在迭代的数据集自迭代开始(或自创建迭代器以来)发生了变化。
问题:为什么在迭代器的情况下,“只要没有人更改任何内容,我就可以阅读”的方法优于“我只能在没有人阅读任何内容时进行更改”的方法?
再会。
如果我理解正确,Fail-Fast 迭代器将立即失败(通常通过抛出异常),如果它们检测到它们正在迭代的数据集自迭代开始(或自创建迭代器以来)发生了变化。
问题:为什么在迭代器的情况下,“只要没有人更改任何内容,我就可以阅读”的方法优于“我只能在没有人阅读任何内容时进行更改”的方法?
这样做有一个简单的原因:它更便宜。否则,您将不得不跟踪所有实时迭代器 - 这很昂贵。特别是在没有右值引用或垃圾收集语言的旧 C++ 中。