Wie viel Speicher würde es dauern, einen Verweis auf ein Objekt in C++ zu speichern? Wird es verschiedene Speichermengen benötigen, um einen Verweis auf einen Objektvergleich zu speichern, um einen Verweis auf einen bestimmten Datentyp in C++ zu speichern (wie int, double und string)? Und wie viel Speicher würde es dauern, einen Zeiger auf ein Objekt zu speichern? wird es eine andere Menge an Speicherverwendung geben, die eine Referenz auf ein Objekt speichert?Wie viel Speicher würde es dauern, einen Verweis auf ein Objekt in C++ zu speichern?
Antwort
Zeiger und Referenz sind beim Compiler identisch. Sie alle haben die Größe eines Zeigers. Verwenden Sie sizeof(void *)
, um die Größe zu erhalten.
Zeiger auf verschiedene Typen können unterschiedliche Größen haben –
@ M.M Ein Zeiger ist ein Zeiger, darunter liegt nur eine ganze Zahl. Ich kann nicht sehen, wie Sie Zeiger unterschiedlicher Größe haben können. –
Das sind Implementierungsdetails, verschiedene Implementierungen können sich unterscheiden (oft als Reaktion darauf, welche Hardware verwendet wird). Segmentierte Architekturen hatten eine Vielzahl von Zeigergrößen. –
Der von einer Referenz verwendete Speicher ist nicht spezifiziert. Manchmal wird es keine geben, z.B .:
void func()
{
int a;
int &b = a;
// ...
}
es ist wahrscheinlich, dass b
wird keinen Speicher verbrauchen.
Compiler wird die Referenz löschen, aber wenn eine Referenz gespeichert wird, kostet es immer noch die Größe eines Zeigers. –
@YanZhou meine Antwort ist nach dem C++ Standard, Sie sprechen über Details von einigen Compilern, die Sie verwendet haben –
Ja, es ist nicht angegeben, ob eine Referenz Speicherplatz nach dem Standard erfordert. Was ich meinte, ist, wenn es Lagerung erfordert ... –
- 1. iOS - Einen Verweis auf ein Objekt in einer Variablen speichern
- 2. Wie lange würde es dauern, einen sha256 Hash zu entschlüsseln?
- 3. Erhalten Sie einen Verweis auf ein Objekt, während es instanziiert
- 4. Wie viel Speicher verwendet ein C++ Zeiger?
- 5. Schluss Verweis auf ein Objekt, wenn es
- 6. Speichern Sie einen Verweis auf eine Zeichenfolge
- 7. Wie viel Speicher nimmt ein Thread in Java auf?
- 8. Würde in Perl ein Verweis auf Catalyst $ c in einem Attribut einen Speicherverlust verursachen?
- 9. Einen unveränderlichen Verweis auf ein veränderbares Objekt in Java zurückgeben
- 10. Verweis auf Array im Speicher
- 11. Bilder zu viel Speicher
- 12. Ist es möglich, einen Verweis auf einen Zeiger von Excel VBA nach C++ zu übergeben?
- 13. Speichern eines Verweises auf ein Objekt in C#
- 14. C++ ein lokales Objekt durch Verweis zurückgeben
- 15. Wie gebe ich einen Verweis auf ein Objekt über CommandParameter
- 16. ReadAffy() zu lange dauern
- 17. Einen lesbaren/schreibbaren Verweis auf ein bestimmtes Objekt in einer Liste speichern
- 18. Wie lange sollte es dauern, ein Gurkenszenario zu betreiben?
- 19. Hibernate, einen Verweis zu halten auf „Eltern“ Objekt
- 20. Wie viel Speicher belegt ein ViewController?
- 21. Speichern Sie einen Verweis auf einen HTML-Canvas-Pfad
- 22. C++ Rückkehr Verweis auf Neues Objekt
- 23. Speichern Verweis auf UITableViewCell
- 24. Wie kann ich einen Verweis auf die Objekteigenschaft in einem anderen Objekt speichern?
- 25. Objekt löscht einen Verweis auf self
- 26. Passend zu einem Verweis auf ein Enum
- 27. (HTML 5) Wie viel ist zu viel lokaler Speicher?
- 28. Wie viel Speicher belegt ein Nullwert?
- 29. Wie viel Speicher lässt iOS Apps zu?
- 30. Java verbraucht zu viel Speicher
Das gleiche wie ein Zeiger. *** Und wie viel Speicher würde es dauern, um einen Zeiger auf ein Objekt zu speichern? Normalerweise 32 Bits auf 32-Bit-Code und 64 Bits auf 64-Bit-Code. – drescherjm
Dies ist im Grunde mehr als eine Frage, und ich stimme daher zu schließen, dass es zu breit ist. Weitere Informationen zu den Themen finden Sie in der [Hilfe] (http://stackoverflow.com/help/on-topic). – MrEricSir
Das ist ein bisschen schwierig. Normalerweise würde ich 'std :: cout << sizeof (meineReferenz);' sagen, aber das wird nicht funktionieren. Weder wird 'std :: cout << sizeof (char &);' Ein bisschen schade, dass. – user4581301