Most of the STD containers use copying, not pointers, as the article actually points out.
That doesn't make his larger point valid (I disagree with it, actually), but your argument is not technically correct.
Most of the STD containers use copying, not pointers, as the article actually points out.
That doesn't make his larger point valid (I disagree with it, actually), but your argument is not technically correct.
Even if the compiler doesn't optimize everything away, copying is sometimes faster, always safer and always easier than passing around pointers.
It's a big lesson I learned for C++ - write correct code first; profile; fix any real performance problems, rather than obsessing about my preconceived notions of what would be slow.
> EDIT: Assume that the object to be contained in the list is non-Assignable as is the case with any non-trivial objects, for example those holding large memory buffers, file descriptors, handles etc. If the object is Assignable simple std::list<person> would do and there is no problem.
Except that normal C++ programmers would deal with that by overriding the assigment operator on this class to copy buffer pointers or whatever as appropriate.