Domande con tag 'smart-pointer'

10
risposte

Why Garbage Collection se ci sono indicatori intelligenti

In questi giorni, così tante lingue sono spazzatura raccolte. È persino disponibile per C ++ da terze parti. Ma C ++ ha RAII e puntatori intelligenti. Quindi a che serve usare la garbage collection? Sta facendo qualcosa in più? E in altre lin...
posta 27.12.2010 - 12:58
9
risposte

std :: shared_ptr come ultima risorsa?

Stavo solo guardando i flussi di "Going Native 2012" e ho notato la discussione su std::shared_ptr . Sono stato un po 'sorpreso di sentire la visione alquanto negativa di Bjarne su std::shared_ptr e il suo commento che dovrebbe essere u...
posta 04.02.2012 - 15:47
1
risposta

raw, weak_ptr, unique_ptr, shared_ptr ecc ... Come sceglierli saggiamente?

Ci sono molti suggerimenti in C ++, ma per essere onesti tra 5 anni circa nella programmazione in C ++ (in particolare con Qt Framework) uso solo il vecchio puntatore raw: SomeKindOfObject *someKindOfObject = new SomeKindOfObject(); So che...
posta 28.02.2015 - 22:51
5
risposte

Perché Java / C # non può implementare RAII?

Domanda: Perché Java / C # non può implementare RAII? Chiarimento: Sono consapevole che il garbage collector non è deterministico. Pertanto, con le funzionalità linguistiche correnti, non è possibile chiamare automaticamente il metodo Dispose...
posta 30.10.2013 - 16:51
5
risposte

C ++: la classe dovrebbe possedere o osservare le sue dipendenze?

Dire che ho una classe Foobar che utilizza (dipende dalla) classe Widget . Nei buoni vecchi giorni, Widget wolud essere dichiarato come campo in Foobar , o forse come puntatore intelligente se fosse necessario un comportamento...
posta 07.09.2015 - 22:41
3
risposte

Distruggere una lista di grandi dimensioni mi eccederà nel mio stack?

Considera la seguente implementazione di elenchi collegati singolarmente: struct node { std::unique_ptr<node> next; ComplicatedDestructorClass data; } Ora, supponiamo che io smetta di usare qualche istanza di std::unique_ptr...
posta 27.01.2015 - 04:19
4
risposte

La gestione non deterministica delle risorse è un'astrazione debole?

Da quello che vedo, ci sono due forme pervasive di gestione delle risorse: distruzione deterministica ed esplicita. Esempi del primo sarebbero i distruttori C ++ e i puntatori intelligenti o il sottotitolo DESTROY di Perl, mentre un esempio di q...
posta 12.03.2013 - 07:41
1
risposta

Sviluppo di memorie Key / Value per il moderno C ++

Sto sviluppando un server di database simile a Cassandra. Lo sviluppo è iniziato in C, ma le cose sono diventate molto complicate senza classi. Attualmente ho portato tutto in C ++ 11, ma sto ancora imparando il C ++ "moderno" e dubito di...
posta 10.08.2015 - 23:34
2
risposte

Fabbriche, vettori e puntatori intelligenti - Domanda di progettazione

Quindi, il mio codice aziendale ha bisogno di alcuni oggetti. Non sa quanti oggetti ha bisogno e non conosce i tipi esatti (perché il polimorfismo è coinvolto). Per me, questo suona per una buona ragione per andare in fabbrica. Il mio codic...
posta 15.12.2015 - 16:23
3
risposte

Contenitore modello polimorfico: shared_ptr vs reference_wrapper

Supponendo che abbiamo due classi: class A { ... } class B : public A { ... } Sarebbe meglio scrivere std::deque<shared_ptr<A> > container; o std::deque<reference_wrapper<A> > container; per creare...
posta 17.02.2015 - 01:00