On 14/03/17 10:39 AM, Daniel Boles wrote:
> On 14 March 2017 at 14:29, Krzysztof Piecuch via gtkmm-list < 
> gtkmm-list@gnome.org> wrote:
> 
>> What about ustring.end() iterator? I think it's obvious that it's 
>> invalidated each time we change the string's length (unless it's 
>> done in some *very clever* way). It's a thing no reserve()-ation 
>> can help.
>> 
> 
> Right, yeah. Whether an iterator can remain valid also depends on 
> what it represents, and .end() is especially vulnerable. Good point!

The simple rule: mutating the container cause iterators to be
invalidated, unless if explicitly said otherwise, like std::list<>.

http://en.cppreference.com/w/cpp/container/list

> Addition, removal and moving the elements within the list or across 
> several lists does not invalidate the iterators or references. An 
> iterator is invalidated only when the corresponding element is 
> deleted.


Hub

_______________________________________________
gtkmm-list mailing list
gtkmm-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtkmm-list

Reply via email to