c++ : domanda su std::map
Inviato: martedì 9 settembre 2008, 14:10
C'è qualche controindicazione ad usare un tipo puntatore come chiave di una mappa?
Il forum della comunità italiana di Ubuntu.
https://forum.ubuntu-it.org/
In linea di massima la std::map va bene, é abbastanza veloce (tempi di ricerca O(log n)), ma dipende quanto sarà frequente questa ricerca e cosa intendi per tempi brevi (per millioni di oggetti molto difficile avere la risposta in tempo reale)Ho un grosso numero (da migliaia a milioni) di oggetti e devo sapere in tempi brevi se un certo oggetto rispetta certi requisiti.
Perché non derivi la tua classe dalla classe Pippo e ci aggiungi il campo che vuoi?Questo lo so nel momento in cui l'oggetto viene allocato, ma non mi piace la soluzione (efficiente ma intrusiva) di aggiungere un campo alla classe per prenderne nota, perché la stessa classe la uso anche in altri ambiti, dove quel campo non servirebbe a nulla.
Sì, in effetti questa è un'altra possibilità, efficiente e non intrusiva, anche se esteticamente insoddisfacente per i miei gusti.Dahman ha scritto:In linea di massima la std::map va bene, é abbastanza veloce (tempi di ricerca O(log n)), ma dipende quanto sarà frequente questa ricerca e cosa intendi per tempi brevi (per millioni di oggetti molto difficile avere la risposta in tempo reale)Ho un grosso numero (da migliaia a milioni) di oggetti e devo sapere in tempi brevi se un certo oggetto rispetta certi requisiti.Perché non derivi la tua classe dalla classe Pippo e ci aggiungi il campo che vuoi?Questo lo so nel momento in cui l'oggetto viene allocato, ma non mi piace la soluzione (efficiente ma intrusiva) di aggiungere un campo alla classe per prenderne nota, perché la stessa classe la uso anche in altri ambiti, dove quel campo non servirebbe a nulla.