Domande taggate «smart-pointers»

Un tipo di dati astratto che simula un puntatore fornendo funzionalità aggiuntive, come la garbage collection automatica o il controllo dei limiti



4
Che tipo di puntatore devo usare quando?
Ok, quindi l'ultima volta che ho scritto C ++ per vivere, std::auto_ptrc'era tutta la lib standard disponibile ed boost::shared_ptrera di gran moda. Non ho mai veramente esaminato gli altri tipi di puntatori intelligenti forniti. Comprendo che C ++ 11 ora fornisce alcuni dei tipi di boost creati, ma non tutti. …


2
Perché non posso push_back un unique_ptr in un vettore?
Cosa c'è di sbagliato in questo programma? #include <memory> #include <vector> int main() { std::vector<std::unique_ptr<int>> vec; int x(1); std::unique_ptr<int> ptr2x(&x); vec.push_back(ptr2x); //This tiny command has a vicious error. return 0; } L'errore: In file included from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/mingw32/bits/c++allocator.h:34:0, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/allocator.h:48, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/memory:64, from main.cpp:6: c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/unique_ptr.h: In member function 'void __gnu_cxx::new_allocator<_Tp>::construct(_Tp*, const …


4
std :: auto_ptr in std :: unique_ptr
Con il nuovo standard in arrivo (e parti già disponibili in alcuni compilatori), il nuovo tipo std::unique_ptrdovrebbe essere un sostituto per std::auto_ptr. Il loro utilizzo si sovrappone esattamente (quindi posso fare una ricerca / sostituzione globale sul mio codice (non che lo farei, ma se lo facessi)) o dovrei essere …



6
Perché dovrei std :: move an std :: shared_ptr?
Ho cercato il codice sorgente di Clang e ho trovato questo frammento: void CompilerInstance::setInvocation( std::shared_ptr<CompilerInvocation> Value) { Invocation = std::move(Value); } Perché dovrei voler std::moveun std::shared_ptr? C'è qualche punto che trasferisce la proprietà su una risorsa condivisa? Perché non dovrei fare questo invece? void CompilerInstance::setInvocation( std::shared_ptr<CompilerInvocation> Value) { Invocation = …


3
Quali implementazioni C ++ Smart Pointer sono disponibili?
Confronti, vantaggi, svantaggi e quando utilizzarli? Questo è uno spin-off di un thread di garbage collection in cui quella che pensavo fosse una semplice risposta ha generato molti commenti su alcune specifiche implementazioni di puntatori intelligenti, quindi è sembrato che valesse la pena iniziare un nuovo post. In definitiva la …


4
Dov'è shared_ptr?
Sono così frustrato in questo momento dopo diverse ore che provo a trovare dove si trova shared_ptr. Nessuno degli esempi che vedo mostra il codice completo per includere le intestazioni per shared_ptr(e funzionante). Semplicemente affermando std, tr1e <memory>non aiuta affatto! Ho scaricato potenziamenti e tutto ma ancora non viene visualizzato! …


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.