Tag: shared-ptr
Referenz gezählt smart-pointer-Klasse implementieren des geteilten Eigentums
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
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
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
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
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,
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
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
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
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>.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
5
Antworten
Wie shared Pointer wissen, wie viele Zeiger, zeigen Sie auf das Objekt? (shared_ptr, in diesem Fall) InformationsquelleAutor cam | 2010-05-10
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
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
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
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
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];
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
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);?
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
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
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
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
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
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
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()
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
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.
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
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
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
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
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>
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