J
JurgenvonOerthel
I want to replace one element in a list<string> by a list<string> and
I need to obtain an iterator to the first element in the inserted
list.
In code:
void replace_element_by_list(list<string> &my_list,
list<string>::iterator
&iter_to_remove,
const list<string>
&list_to_insert) {
list<string>::iterator next_iter = my_list.erase(iter_to_remove);
my_list.insert(next_iter, list_to_insert.begin(),
list_to_insert.end());
// Does 'iter_to_remove' point to the first element of the inserted
list, or is it invalid?
}
When I try this code I find that 'iter_to_remove' indeed points to the
first element of the inserted list. However, I'm wondering whether
that is guaranteed.
I need to obtain an iterator to the first element in the inserted
list.
In code:
void replace_element_by_list(list<string> &my_list,
list<string>::iterator
&iter_to_remove,
const list<string>
&list_to_insert) {
list<string>::iterator next_iter = my_list.erase(iter_to_remove);
my_list.insert(next_iter, list_to_insert.begin(),
list_to_insert.end());
// Does 'iter_to_remove' point to the first element of the inserted
list, or is it invalid?
}
When I try this code I find that 'iter_to_remove' indeed points to the
first element of the inserted list. However, I'm wondering whether
that is guaranteed.