Why does QMap::operator[](const Key & key) return by value?
In the the const
case we can not add an element to the const
map if it does not already exist, so a local object will be returned.
Otherwise, in the non-const
case, an element will be created with the specified key (if there isn't one already) before returning a reference to it.