std::unique_ptr supporta gli array, ad esempio: std::unique_ptr<int[]> p(new int[10]); ma è necessario? probabilmente è più comodo da usare std::vectoro std::array. Trovi utile per quel costrutto?
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. …
Qual è la differenza tra il seguente set di puntatori? Quando usi ogni puntatore nel codice di produzione, se non del tutto? Gli esempi sarebbero apprezzati! scoped_ptr shared_ptr weak_ptr intrusive_ptr Usi boost nel codice di produzione?
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 …
In pratica con C ++, che cos'è RAII , quali sono i puntatori intelligenti , come vengono implementati in un programma e quali sono i vantaggi dell'utilizzo di RAII con i puntatori intelligenti?
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 …
Sto riscontrando problemi nel comprendere l'utilizzo dei puntatori intelligenti come membri della classe in C ++ 11. Ho letto molto sui puntatori intelligenti e penso di capire come unique_ptre shared_ptr/ o weak_ptrlavorare in generale. Quello che non capisco è il reale utilizzo. Sembra che tutti raccomandino di usarlo unique_ptrcome modo …
Ho letto in alcuni articoli che i puntatori grezzi non dovrebbero quasi mai essere usati. Invece dovrebbero sempre essere racchiusi all'interno di puntatori intelligenti, che siano puntatori con ambito o condivisi. Tuttavia, ho notato che framework come Qt, wxWidgets e librerie come Boost non ritornano mai né si aspettano puntatori …
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 = …
Ha std::make_uniquedei vantaggi in termini di efficienza come std::make_shared? Rispetto alla costruzione manuale std::unique_ptr: std::make_unique<int>(1); // vs std::unique_ptr<int>(new int(1));
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 …
È difficile dire cosa viene chiesto qui. Questa domanda è ambigua, vaga, incompleta, eccessivamente ampia o retorica e non può essere ragionevolmente risolta nella sua forma attuale. Per assistenza su come chiarire questa domanda in modo che possa essere riaperta, visita il Centro assistenza . Chiuso 8 anni fa . …
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! …
Qual è il sovraccarico dei puntatori intelligenti rispetto ai normali puntatori in C ++ 11? In altre parole, il mio codice sarà più lento se utilizzo i puntatori intelligenti e, in tal caso, quanto più lento? In particolare, sto chiedendo informazioni su C ++ 11 std::shared_ptre std::unique_ptr. Ovviamente, le cose …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.