Wird auto_ptr im eingehenden C ++ - Standard veraltet sein? Sollte unique_ptr anstelle von shared_ptr für die Eigentumsübertragung verwendet werden? Wenn unique_ptr nicht im Standard enthalten ist, muss ich stattdessen shared_ptr verwenden?
Wird auto_ptr im eingehenden C ++ - Standard veraltet sein? Sollte unique_ptr anstelle von shared_ptr für die Eigentumsübertragung verwendet werden? Wenn unique_ptr nicht im Standard enthalten ist, muss ich stattdessen shared_ptr verwenden?
Wird unique_ptrgarantiert nullptrnach dem Umzug gespeichert ? std::unique_ptr<int> p1{new int{23}}; std::unique_ptr<int> p2{std::move(p1)}; assert(!p1); // is this always true?
Was ist der richtige Weg, um ein unique_ptr zu erstellen, das ein Array enthält, das dem freien Speicher zugewiesen ist? Visual Studio 2013 unterstützt dies standardmäßig, aber wenn ich gcc Version 4.8.1 unter Ubuntu verwende, treten Speicherlecks und undefiniertes Verhalten auf. Das Problem...
Ist dieser Code korrekt? auto v = make_unique<int>(12); v.release(); // is this possible? Entspricht es deleteeinem rohen Zeiger?
Ich habe den folgenden Code geschrieben, der verwendet, unique_ptr<Derived>wo a unique_ptr<Base>erwartet wird class Base { int i; public: Base( int i ) : i(i) {} int getI() const { return i; } }; class Derived : public Base { float f; public: Derived( int i, float f ) : Base(i), f(f) {}...
Um void *eine Funktion von einer Funktion in CI zu erhalten, gehen Sie wie folgt vor (sehr einfaches Beispiel): void *get_ptr(size_t size) { void *ptr = malloc(size); return ptr; } Wie erreiche ich das gleiche Ergebnis bei der Verwendung
Ich habe es mit Code zu tun, der nicht von mir geschrieben wurde. Ich habe diese Aussage: // p is type of std::unique_ptr<uint8_t[]> if (p < 0) { /* throw an exception */ } Was bedeutet p < 0das in diesem Zusammenhang? Auf der Dokumentationsseite glaube ich, dass mein Fall ist 16) y...
Ich habe eine Methode, die ein Objekt nach Wert zurückgibt. Die Methode stammt aus einer Bibliothek, über die ich keine Kontrolle habe. Für die weitere Bearbeitung des Objekts möchte ich weiterhin mit einem unique_ptr an diesem Objekt arbeiten. Hier ist ein Beispiel: #include <iostream>...