Ich suche in einem Verweis auf eine Karte passieren und NICHT Karte Ort, um es woanders haben - Hier ist, was mit ich arbeite:Pass in Bezug auf eine in C++
map<string, Node> _neighbors; // Instance Variable
Node& neighbor(Node& neighbor) {
cout << "HOST: "<< neighbor.host() << " ADDRESS: " << &neighbor << endl;
string key = this->getKey(neighbor);
if(!_neighbors.count(key)) {
_neighbors[key] = neighbor;
cout << "HOST (AFTER): "<< _neighbors[key].host() << " ADDRESS: " << &_neighbors[key] << endl;
neighbor.neighbor(*this);
}
return *this;
}
Ausgang: Wenn ich rufe n1.neighbor(n2); // n1 is a Node with host=1 and n2 is a Node with host=2
HOST: 2-ADRESSE: 0x7fff5fbfe580
HOST (AFTER): 2-ADRESSE: 0x100100128
... Und ** warum ** genau brauchen Sie das? –
Ich musste in der Lage sein, Dinge aus Nachbarn herauszuholen, sie zu aktualisieren und sie in dem ursprünglich instanziierten Knoten widerzuspiegeln. – Matt