Stavo vagando - posso usare std::shared_ptr
come chiave di mappa?Utilizzo di std shared_ptr come std :: map key
in modo più specifico - il contatore di riferimento del puntatore potrebbe essere diverso dal valore che aveva quando assegnato alla mappa.
Sarà identificato correttamente nella mappa?
Si noti che se si utilizza il "costruttore aliasing" di 'std :: shared_ptr', a seconda del vostro caso d'uso si può prendere in considerazione l'utilizzo [' std :: owner_less' ] (http://en.cppreference.com/w/cpp/memory/owner_less) come funtore di confronto della mappa. Questo ti porterà a ordinare in base al puntatore a tutto l'oggetto, piuttosto che al subobject puntato direttamente da 'shared_ptr'. – tomjakubowski