Ich bin Ware, dass die Methode std :: vector.reserve() die Kapazität eines Vektors reserviert und den Zugriff auf einen Vektor, der reserviert, aber nicht manuell mit Werten initialisiert wird, zu einem undefinierten Verhalten führen. Aber mir wurde gesagt, dass die reserve() Methode tatsächlich etwas in den zugewiesenen Speicher füllt, also kann es nicht eine nicht initialisierte Speicherzuweisung sein, richtig? Gibt es also jemals eine Möglichkeit, nicht initialisierten Speicher in C++ zuzuweisen (wie funktioniert mcalloc() für c)?nicht initialisierte Speicherzuweisung in C++
EDIT: Entschuldigung, ich habe das falsche Wort hier, es sollte wie mcalloc() funktioniert für c. Ich habe das geändert.
'wie calloc() funktioniert für c .. .. scherzen oder ernst? Das ist wie 180 Grad gegenüberliegende Aussage. –
'Calloc' weist initialisierten Speicher zu. Es gibt eine Möglichkeit, nicht initialisierten Speicher in C++ zuzuweisen, so wie 'malloc' für C funktioniert: Es wird' malloc' verwendet. Es gibt auch eine Möglichkeit, Speicher in C++ zuzuordnen, so wie 'calloc' für C funktioniert: es ist' calloc' zu verwenden. – wasthishelpful
Die Antworten sind ein wenig divergierend - könntest du bitte klarstellen, ob 'std :: vector' die Crux deiner ist Frage oder nur ein Beispiel? Möchten Sie ein nicht initialisiertes Objekt in einen Vektor einfügen oder einfach nur nicht initialisierten Speicher zuweisen? – Quentin