1

我有两个std::list对象:source_listnew_list. 目标是添加对象 fromnew_listsource_list开始 fromposition_at_source_to_adding_new_from和 with steps_between_new

steps:的问题source_list可以是短的,new_list也可以是大的(或steps大的),并且在进行迭代时,它std::advance(it, steps_between_new)可能会超出范围。source_listundefined behavior

如何在之前/之后检查迭代器std::advance以确保我们在范围内?并且当有更多对象new_list可以放置在它们之间的步骤时 - 需要简单地将对象添加到源列表的末尾。

附言。对不起我的英语,不是母语很难解释。欢迎对我的文字进行任何更正。谢谢。

4

1 回答 1

2

而不是调用advance,只需++iterator根据需要调用多次。每次调用后,将迭代器与end().

于 2012-05-23T09:20:37.383 回答