Donc, si j'ai une classerenvoie un pointeur vers un membre d'un objet qui est créé sur le tas
class Item {
public:
Item(int key, int value):key(key), value(value) {}
int GetValue() {
return value;
}
private:
int key;
int value;
}
Si je crée un objet d'objet sur le tas:
Item *item = new Item(1, 2);
Est-il possible d'obtenir le pointeur sur le membre de la valeur de cet objet?
Par exemple, j'ai une autre méthode d'une autre classe
int* GetValue(int k) {
Item* item = ...; // It finds the pointer to an Item object with key k that was created before.
// Is there anyway I can return the pointer to the value member of this item?
// Something like:
return &(item->GetValue()); // This won't compile because item->GetValue() is a r-value. Is there any alternative way to walk around?
}
Utilisez la carte pour stocker la clé et la valeur. –
Je suis en train d'essayer de mettre en œuvre une carte de hachage, donc je ne peux pas utiliser la bibliothèque existante. – ZigZagZebra