[Development] RFC: more liberal 'auto' rules?
Olivier Goffart
olivier at woboq.com
Mon Dec 7 17:53:41 CET 2015
On Monday 7. December 2015 08:28:53 Thiago Macieira wrote:
> What const is missing? Are you saying it should have been
>
> for (const std::pair<const std::string, std::string> &e: stdMap)
Yes.
The value_type of a std::map<Key,T> is std::pair<const Key, T>.
It allows to do this:
// add "foobar" to all the entries
for (auto &e: stdMap)
e.second += "foobar";
But it does not allow to change the key because that cannot be changed via an
iterator.
> If so, I consider that an API defect in std::map
Quite the contrary.
> or an implementation defect in std::string in the first place. It wouldn't
> cause a magnitude of performance difference if they were implicitly shared,
> like QString.
That's another issue.
--
Olivier
Woboq - Qt services and support - http://woboq.com - http://code.woboq.org
More information about the Development
mailing list