Tag: shared-ptr

Referenz gezählt smart-pointer-Klasse implementieren des geteilten Eigentums

ist es besser, zu verwenden shared_ptr.reset-oder-operator =?

Anzahl der Antworten 2 Antworten
Ich versuche, wickeln Sie meinen Kopf herum, die neue Redewendungen für C++11. Scheint es, dass mit shared_ptr zumindest, es gibt einen inhaltlichen Unterschied zwischen der Verwendung new T() und make_shared<T>(). Aber was ist das zurücksetzen eines shared-pointer

Copy-Konstruktor für die Klasse shared_ptr Daten Mitglieder?

Anzahl der Antworten 2 Antworten
Weiß ich, wie schreiben Sie einen kopierkonstruktor, wenn Sie raw-pointer Daten-member in einer Klasse, aber wie schreiben Sie einen kopierkonstruktor, wenn Sie diese handhaben mit einem shared_ptr? Gibt es eine copy() oder clone() Funktion, die aufgerufen werden

die Frage über die Belegung mit boost::shared_ptr (vs. die reset () - Funktion)

Anzahl der Antworten 2 Antworten
Sorry, wenn dies explizit irgendwo beantwortet, aber ich bin ein wenig verwirrt durch die boost-Dokumentation und Artikeln, die ich gelesen habe, online. Sehe ich, dass ich mit der reset () - Funktion, um den Speicher freizugeben, innerhalb

enable_shared_from_this (c++0x): was mache ich falsch?

Anzahl der Antworten 2 Antworten
Ich bin nur spielte, um mit den smart-Pointer in der kommenden neuen c++ - standard. Aber ich kann das nicht begreifen, wird die Nutzung der shared_from_this Funktion. Hier ist, was ich habe: #include <iostream> #include <memory> class

Vorbei shared_ptr zu lambda-Wert von Speicherverlusten

Anzahl der Antworten 2 Antworten
Ich habe den folgenden code : void MyClass::onOpenModalBtnClicked() { uiManager->load(L"data/ui/testmodal.json"); std::shared_ptr<UIElement> modal = uiManager->getElementById("loginModal"); if(modal) { modal->getElementById("closeButton")->onClicked = [modal]() { modal->hide(); }; } } Dies funktioniert gut und der modal ist geschlossen, wenn die Schaltfläche geklickt wird,

Wie Sie Zugang zu target von std::tr1::shared_ptr in GDB

Anzahl der Antworten 3 Antworten
Wie kann ich Ziel, std::tr1::shared_ptr in GDB. Das funktioniert nicht: (gdb) p sharedPtr->variableOfTarget Wenn ich versuche mit der pointer-Objekt selbst (p sharedPtr) bekomme ich so etwas wie dieses: $1 = std::tr1::shared_ptr (count 2) 0x13c2060 Mit einem normalen

wie cast von void* auf shared_ptr<mytype>

Anzahl der Antworten 2 Antworten
Ich habe ein problem mit einem OpenGL Projekt, Konvertierung von einem void* Zeiger auf eine shared_ptr<mytype>. Bin ich mit Kugel setzen von Zeigern auf den starren Körper mit: root_physics->rigidBody->setUserPointer(&this->root_directory->handle); Den Griff Typ shared_ptr<mytype>. Den void* - Zeiger

Wie kombinieren Sie die Verwendung von std::bind mit std::shared_ptr

Anzahl der Antworten 2 Antworten
Ich brauche, so etwas zu tun, mehr als oft: AsyncOperation * pAsyncOperation = new AsyncOperation(); auto bindOperation = std::bind(&AsyncOperation::operator(), std::ref(*pAsyncOperation)); std::thread thread(bindOperation ); thread.join(); mit AsyncOperation jede benutzerdefinierte Klasse die operator() (auch bekannt als Funktor oder eine

Kann ich warf shared_ptr<T> & zu shared_ptr<T const> & ohne änderung use_count?

Anzahl der Antworten 4 Antworten
Ich habe ein Programm, das mit boost::shared_ptrs und insbesondere, verlässt sich auf die Genauigkeit der use_count um Optimierungen durchzuführen. Beispielsweise vorstellen, eine addition mit zwei argument-Zeiger genannt lhs und rhs. Sagen, Sie haben beide den Typ shared_ptr<Node>.

Zu behandeln, wie eine Karte von shared_ptr mit move-Konstruktor richtig?

Anzahl der Antworten 2 Antworten
Überlegen, ich habe einen container std::map<int, std::shared_ptr<MyClass>> und ich wollen füllen Sie es in externen Funktion und Vermeidung Bewältigungsstrategien von deren Inhalt. Also ich habe typedef Container std::map<int, std::shared_ptr<MyClass>> Container&& f(){ Container bar; auto foo = std::shared_ptr<MyClass>(new

boost::shared_ptr und Zuweisung von abgeleiteten Klassen

Anzahl der Antworten 3 Antworten
Übernehmen DerivedClass ist abgeleitet von BaseClass Würde das folgende funktionieren? boost::shared_ptr<BaseClass> a(new BaseClass()); boost::shared_ptr<DerivedClass> b(new DerivedClass()); a=b; Folgenden Frage, ich verstehe, dass jetzt a Punkte der abgeleiteten und b Punkte an der Basis (richtig?) Auch, wenn ich

Wie funktioniert shared_ptr Arbeit in if-Bedingung

Anzahl der Antworten 2 Antworten
In C++ kann ich etwas schreiben wie: shared_ptr<A> a_sp = someFunctionReturningSharedPtr(); if (a_sp) { cout << a_sp->someData << endl; } else { cout << "Shared Pointer is NULL << endl; } Warum if (a_sp) überprüfen, korrekt? a_sp

dynamic_cast über einen shared_ptr?

Anzahl der Antworten 3 Antworten
Ich habe zwei Klassen A und B, B erbt von A. Wenn ich eine shared_ptr<A> Objekt, das ich kenne, ist wirklich ein B-Subtyp, wie kann ich ein dynamic cast für den Zugriff auf die API von B

c++ Vektor von boost::shared_ptr

Anzahl der Antworten 2 Antworten
Ich gerade angefangen zu lernen, boost-shared-Pointer. Schrieb ich ein kurzes Programm, Ergebnisse sehen gut aus, aber ich bin mir nicht sicher, wenn der Speicher freigeben auch mit meinem code. Ich möchte Fragen, ob jemand ansehen konnte, meinen

Fehler in std::make_shared (), wenn Sie versuchen zu machen shared_ptr?

Anzahl der Antworten 1 Antworten
(Mit Visual Studio 2010), die ich versuche zu schaffen, ein shared_ptr einer vorhandenen Klasse in meinem Projekt (Klasse geschrieben wurde, ein Jahrzehnt, bevor std::shared_ptr gab). Diese Klasse nimmt eine nicht-const-Zeiger auf ein anderes Objekt, es kann leer

Warum ist shared_ptr<void> legal, während unique_ptr<void> ist schlecht ausgebildet?

Anzahl der Antworten 2 Antworten
Die Frage passt wirklich in den Titel: ich bin neugierig zu wissen, was ist der technische Grund für diesen Unterschied, sondern auch die Begründung ? std::shared_ptr<void> sharedToVoid; //legal; std::unique_ptr<void> uniqueToVoid; //ill-formed; InformationsquelleAutor Ad N | 2016-09-02

wie kompilieren Sie c++ - Programm mit boost/shared_ptr.hpp unter linux mit g++

Anzahl der Antworten 1 Antworten
Ich habe ein Programm geschrieben, mit boost shared_ptr header-Datei. Wie, das Programm zu kompilieren? welche Bibliothek ich erwähnen, mit -l option g++ beim kompilieren. Nicht die Beantwortung der Frage,, kann aber die Beantwortung Ihres Problems: std::shared_ptr<> werden

Aufruf default-copy-Konstruktor von innen überlastet copy-Konstruktor

Anzahl der Antworten 6 Antworten
Schreiben brauche ich eine copy-Konstruktor deep kopiert den Inhalt von einer std::shared_ptr. Es gibt jedoch eine Reihe von Variablen int a, b, c, d, e; auch in der Klasse definiert. Gibt es eine Möglichkeit zum generieren der

shared_ptr und Referenzen in C++

Anzahl der Antworten 4 Antworten
Referenzen in C++ sind conveneint zu konstruieren, die es uns ermöglichen, vereinfachen Sie den folgenden C-code: f(object *p){ //do something } int main(){ object* p = (object*) calloc(sizeof(object)); f(p); } zu f(object& o){ //do something } int

pass abgeleitete Klasse shared_ptr als parameter an Funktion, will base Klasse shared_ptr

Anzahl der Antworten 4 Antworten
Habe ich nur durch eine massive Umgestaltung eines Projekts zum hinzufügen eines Basis-Klasse im Ort, was ist nun eine abgeleitete Klasse von said base Klasse (weil ich will mehr "Arten" von dieser Klasse). Mein problem ist, dass

Wie um zu testen, ob ein shared_ptr ist leer oder hat nichts

Anzahl der Antworten 1 Antworten
Einer C++ - std::shared_ptr<..> werden kann leer und es kann auch sein null. Diese beiden Konzepte existieren, und Sie sind nicht entspricht. Darüber hinaus werden weder die Implikation ist immer wahr, zwischen diesen Fällen. Letzteren Fall ist

Apple und shared_ptr

Anzahl der Antworten 1 Antworten
Ich scheine hier etwas fehlt. Ich zog von boost::shared_ptr zu std::shared_ptr. shared_ptr war Teil des TR1 zurück in die Mitte der 2000er Jahre, und es sollte überall verfügbar sein im Jahr 2012. Versuchen, zu verwenden shared_ptr unter

Mit shared_ptr in dll-Schnittstellen

Anzahl der Antworten 4 Antworten
Ich habe eine abstrakte Klasse, in meiner dll. class IBase { protected: virtual ~IBase() = 0; public: virtual void f() = 0; }; Ich will IBase in meine exe-Datei, die die dll lädt. Erste Möglichkeit ist, erstellen

Was (nicht) zu tun in einem Konstruktor

Anzahl der Antworten 13 Antworten
Möchte ich Sie bitten, für Ihre besten Praktiken bezüglich der Konstruktoren in C++. Ich bin nicht ganz sicher, was ich tun sollte in einem Konstruktor und was nicht. Soll ich verwenden Sie nur für Attribut-Initialisierungen, den Aufruf

C++ shared_ptr Gleichheits-operator

Anzahl der Antworten 3 Antworten
Den Gleichheitsoperator für shared_ptr ist wie folgt definiert: template<class T, class U> inline bool operator==( shared_ptr<T> const & a, shared_ptr<U> const & b) { return a.get() == b.get(); } Dieser defekt zu sein scheint. Wäre es nicht

Wie machen Sie std::shared_ptr nicht, rufen Sie delete()

Anzahl der Antworten 5 Antworten
Habe ich-Funktionen, die in std::shared_ptr als argument, so dass ich gezwungen bin, benutze std::shared_ptr, aber die Objekt bin ich der übergabe an die Funktion ist nicht dynamisch zugeteilt. Wie kann ich wickeln Sie das Objekt std::shared_ptr und

Wie gehen deleter zu make_shared?

Anzahl der Antworten 5 Antworten
Seit C++11, da von mehreren Gründen, tendieren Entwickler dazu, den Einsatz von smart-pointer-Klassen für die dynamische Lebenszeit von Objekten. Und mit diesen neuen smart-pointer-Klassen, - standards, auch empfehlen nicht die Verwendung von Operatoren wie new statt, die

Wie kann shared Pointer arbeiten?

Anzahl der Antworten 5 Antworten
Wie shared Pointer wissen, wie viele Zeiger, zeigen Sie auf das Objekt? (shared_ptr, in diesem Fall) InformationsquelleAutor cam | 2010-05-10

shared_ptr mit malloc und free

Anzahl der Antworten 3 Antworten
Habe ich die Arbeit in großen Anwendung, die enthalten c und cpp. Alle gespeicherten Dateien als cpp-Erweiterung, aber der code ist in c geschrieben - Stil. Ich meine, es ist zu definieren Struktur eher als class-Speicher über

Der Geschlechter-Vergleich der std::weak_ptr

Anzahl der Antworten 1 Antworten
Möchte ich zum vergleichen von zwei std::weak_ptr oder ein std::weak_ptr und ein std::shared_ptr für die Gleichstellung. Was ich wissen will ist, ob das Objekt jeweils die weak_ptr-s/shared_ptr der Punkt ist der gleiche. Der Vergleich Rendite negative Ergebnisse

Was ist der Unterschied zwischen einer leeren und einer null-std::shared_ptr in C++?

Anzahl der Antworten 2 Antworten
Den cplusplus.com shared_ptr - Seite ruft eine Unterscheidung zwischen einem leer std::shared_ptr und ein null shared_ptr. Die cppreference.com Seite nicht explizit aufrufen, aus der Unterscheidung verwendet wird, sondern beide "leer" und der Vergleich zu nullptr in seiner

Können Sie reservieren ein array mit etwas gleichwertiges zu make_shared?

Anzahl der Antworten 3 Antworten
buffer = new char[64]; buffer = std::make_shared<char>(char[64]); ??? Können Sie Speicher für ein array mit make_shared<>()? Ich tun konnte: buffer = std::make_shared<char>( new char[64] ); Aber weiterhin umfasst das aufrufen neues, es ist nach meinem Verständnis make_shared

Ist es richtig, null zurückgeben shared_ptr?

Anzahl der Antworten 1 Antworten
Gibt es zum Beispiel eine Funktion, die feststellt, ein Objekt und gibt shared_ptr, wenn ein Objekt gefunden wird, und muss irgendwie zeigen, dass kein Objekt gefunden wurde. std::vector<std::shared_ptr> Storage::objects; std::shared_ptr<Object> Storage::findObject() { if (objects.find) { return objects[x];

Zuweisen von vorhandenen Werte zu smart-ptrs?

Anzahl der Antworten 4 Antworten
Ich bin nur zu lernen, über intelligente Zeiger, und ich habe Probleme bei der Zuweisung eine bereits bestehende Lage einer Variablen auf die standard-Bibliothek shared pointer. Zum Beispiel, können sagen, Sie haben eine int x, die Sie

shared_ptr : "Aufruf an ein Objekt einer Klasse geben, die ohne die entsprechenden operator - () oder das conversion-Funktion für Zeiger-auf-Funktion-Typ"

Anzahl der Antworten 1 Antworten
#include "boost\shared_ptr.hpp" class A{ public: A(){} ~A(){} }; int main() { boost::shared_ptr<A> ptrA; ptrA(new A); } Ich würde gerne wissen, warum dieser code nicht kompilieren? Ich will wissen, der Unterschied, wenn ich nur verwenden boost::shared_ptr<A> ptrA(new A);?

Set shared_ptr zu Punkt vorhandenen Objekt

Anzahl der Antworten 2 Antworten
Für den folgenden code, würde ich gerne wissen, wie man std::shared_ptr um die vorgegebenen Objekte in die zwei member-Funktionen. Die Vector3 Objekt, das zugeordnet wird, die in der main-Funktion wird nicht gelöscht werden, bis das Ende des

Zeiger vs auto_ptr vs shared_ptr

Anzahl der Antworten 4 Antworten
Ich wurde vor kurzem eingeführt, um die Existenz von auto_ptr und shared_ptr und ich habe eine ziemlich einfache/naive Frage. Ich versuche zu implementieren ist eine Datenstruktur, und ich brauche, um auf die Kinder einer Node die (sind

c++ Kopier-Konstruktor mit shared_ptr Mitglieder

Anzahl der Antworten 3 Antworten
Vom cplusplus.com: Selten kommen Sie über eine Klasse, die nicht enthalten rohen Zeiger doch die Standard-copy-Konstruktor ist nicht ausreichend. Ein Beispiel dafür ist, wenn Sie einen Referenz-gezählt Objekt. boost::shared_ptr<> ist Beispiel. Kann jemand dies erläutern? Wenn wir

Wie weiß ich, wer hält die shared_ptr<>?

Anzahl der Antworten 8 Antworten
Nutze ich boost::shared_ptr in meine Anwendung in C++. Das Speicher problem ist wirklich ernst, und die Anwendung braucht sehr viel Speicher. Jedoch, weil ich jeden newed Objekt in einen shared_ptr, wenn die Anwendung beendet wird, kein memory-undicht

shared_ptr mit Vektor

Anzahl der Antworten 3 Antworten
Ich habe derzeit Vektoren wie: vector<MyClass*> MyVector; und ich Zugriff über MyVector[i]->MyClass_Function(); Möchte ich nutzen shared_ptr. Bedeutet das, dass alles, was ich zu tun ist, ändern meine vector: typedef shared_ptr<MyClass*> safe_myclass vector<safe_myclass> und ich kann weiterhin mit

Wie rufe ich ::std::make_shared auf eine Klasse mit nur protected oder private Konstruktoren?

Anzahl der Antworten 15 Antworten
Habe ich diesen code, der nicht funktioniert, aber ich denke die Absicht ist klar: testmakeshared.cpp #include <memory> class A { public: static ::std::shared_ptr<A> create() { return ::std::make_shared<A>(); } protected: A() {} A(const A &) = delete; const

Warum std::shared_ptr<void> Arbeit

Anzahl der Antworten 6 Antworten
Fand ich einige code mit std::shared_ptr ausführen beliebigen Bereinigung beim abschalten. Zuerst dachte ich, dieser code könnte nicht arbeiten, aber dann habe ich versucht, die folgenden: #include <memory> #include <iostream> #include <vector> class test { public: test()

std::shared_ptr thread-Sicherheit

Anzahl der Antworten 4 Antworten
Habe ich gelesen, dass "Können mehrere threads gleichzeitig Lesen und schreiben, andere shared_ptr-Objekte, selbst wenn die Objekte sind Kopien, die Aktie das Eigentum." (MSDN: Thread-Sicherheit in die Standard C++ Bibliothek) Bedeutet das, dass eine änderung shared_ptr Objekt

Erstellen von shared_ptr Referenz

Anzahl der Antworten 3 Antworten
Ich bin relativ neu in C++ und diese Nähte wie eine noob Frage, aber ich war nicht in der Lage, es zu lösen, mit anderen Quellen im internet. Ich versuche zu schaffen, ein shared_ptr von einem Verweis.

ntdll.dll [Frames unten können falsch sein /fehlen, keine Symbole geladen für ntdll.dll]

Anzahl der Antworten 2 Antworten
seit ein paar Wochen nun habe ich in dieser situation und es sehr beunruhigend, mein Programm debuggt sehr gut, keine Fehler, wenn ich das Programm starte tut es der erste Teil der job, nach ein paar Sekunden

QSharedPointer, wie gehen Sie um, und benötige ich Sie?

Anzahl der Antworten 1 Antworten
Versucht zu verstehen, shared pointer jetzt seit ein paar Tagen und es fühlt sich an wie ich kann nicht scheinen, um es zu bekommen. Nicht sicher, ob es nur zu offensichtlich ist oder wenn es zu kompliziert

Mit googlemock EXPECT_CALL mit shared_ptr?

Anzahl der Antworten 2 Antworten
Habe ich ein test, der funktioniert mit einem raw-pointer, aber ich habe Probleme dabei, es funktioniert mit einem std::shared_ptr. Die Klasse ist wie folgt: class MyClass { MyClass(SomeService *service); void DoIt(); } Mein test-code ist wie: class

shared_ptr null-Zeiger und-Zuordnung

Anzahl der Antworten 2 Antworten
Will ich mit shared_ptr, wie ich das verwenden würde, eine tatsächliche Zeiger. Ich wollte in der Lage sein, Dinge zu tun, wie shared_ptr<int> a; a = new int(5); a = 0; shared_ptr<int> foo() return 0; aber es

Initialisieren Boost shared_ptr im Konstruktor

Anzahl der Antworten 4 Antworten
Habe ich eine Klasse, die eineboost::asio::io_service Objekt. Ich möchte dieses Objekt in ein boost::shared_ptr. Also mein header sieht so aus: ( ich entledigte sich der unnötigen code, damit es nicht ablenkt ) class CommandDispatcher { private: boost::shared_ptr<boost::asio::io_service>

Kopieren boost::shared_ptr

Anzahl der Antworten 3 Antworten
typedef boost::shared_ptr<SomeData> data_ptr; data_ptr cached_ptr; //class member bool someWork(data_ptr& passed_ptr) { //must copy passed_ptr = cached_ptr under some conditions //without pointing at the same memory //I saw somewhere that I should do //passed_ptr.reset(new SomeData(???)) //I don't have