On Tuesday, May 28, 2013 20:51:55 monarch_dodra wrote: > That was in C++03. In C++11, length was reduced to 0(1). And > splice was increased to 0(N) (I think, I don't remember the exact > details, but it was definitely changed).
I do remember hearing something about that, though that will actually result in some nasty performance changes to some of the code out there (including code that I've written). Regardless, you have the choice of making length O(1) or splicing O(1) and not both, and C++98/03 made splicing O(1), which I'm inclined to believe is the better choice, though having size when it's O(n) was a definite mistake on C++'s part IMHO. I hate to think of how many times I've seen programmer's write container.size() == 0 instead of empty(), particularly when size() was O(n)... - Jonathan M Davis
