Ich erstelle eine Hash-Funktion auf der Grundlage der Byte-Werte der Objekte. Ich möchte wissen, ob die Bytes von Objekt a halten b oder werden sie eine Referenz (Zeiger) halten?Wie Referenzen im Speicher behandelt werden
Antwort
Wie Sie A::_b
als eine Referenz deklariert haben, wird es eine Referenz "halten". Daher enthält das Objekt a
nicht die Daten von b
, wenn Sie a
byteweise untersuchen.
Übrigens haben Sie vergessen, die Adresse-of-Operator in Ihrer Besetzung zu verwenden.
... jeder Zugriff auf '_b' (nach Name) ist jedoch so, als ob Sie auf den Referenten zugreifen würden, daher spielt dies für eine Hash-Funktion keine Rolle. –
und für das gleiche Objekt wie b, werden die Bytes von A immer gleich sein? – mkmostafa
@mkmostafa Das hängt davon ab, wie Referenzen vom Compiler implementiert werden. –
- 1. Wie behandelt Python Speicher?
- 2. Größer als Speicher Datenstrukturen und wie sie typischerweise behandelt werden
- 3. Wie behandelt man Klassenobjekte mit zirkulären Referenzen?
- 4. Wie behandelt man zirkuläre Referenzen in VBA?
- 5. Wie behandelt man Alpha-Transparenz von PNG direkt im Speicher?
- 6. Wie werden @ "Strings" im Speicher zugewiesen?
- 7. Kann Speicher für Referenzen innerhalb einer C++ - Klasse entfernt werden?
- 8. Wie werden Deletionsanomalien behandelt?
- 9. Wie werden ausführbare win32-Ressourcen behandelt?
- 10. Wie behandelt DataIntegrityViolationException im Frühjahr?
- 11. Wie werden erwartete Fehler im Hystrix-Fallback richtig behandelt?
- 12. Wie werden REST-Ausnahmen behandelt?
- 13. Wie werden dynamische Standortlokalisierungen behandelt?
- 14. Kann neo4j nur im Speicher ausgeführt werden?
- 15. Werden statische Methoden immer im Speicher gehalten?
- 16. Wie wird der Speicher einer Klasse in C++ behandelt?
- 17. x86 Assembly, wie können im Speicher gespeicherte Variablen hinzugefügt werden?
- 18. Wie werden Variablen im Speicher in Rekursion gespeichert?
- 19. Wie Daten im Loopback-Speicher db angezeigt werden?
- 20. Wie werden Objekte in JavaScript im Speicher gespeichert?
- 21. Wie Zeichenketten in Java behandelt werden
- 22. Wie man global time_zone im System behandelt?
- 23. Visual Studio: Wie behandelte Ausnahmen behandelt werden?
- 24. Wie werden Listener in Java Swing behandelt?
- 25. behandelt zugewiesenen Speicher als einen anderen Typ
- 26. Wie werden einmalige Bereitstellungsaufgaben mit Capistrano behandelt?
- 27. Wie Datenlayout im RAM-Speicher?
- 28. Wie werden ISO-Datumszeichenfolgen in TypeScript behandelt?
- 29. Warum bleibt eine geschlossene NetConnection ohne Ereignis-Listener oder Referenzen im Speicher?
- 30. Wie wird Speicher für np.darray in Cython behandelt?
Siehe [diese Liste empfohlener Bücher zu C++] (http://stackoverflow.com/q/388242/253056). –
Objekte haben keine Bytewerte. Zwei verschiedene Byte-Arrays können durchaus den gleichen Objektwert darstellen. Wie Referenzen dargestellt werden, ist Implementierung definiert. –