Domande con tag 'raii'

8
risposte

Svantaggi della gestione della memoria basata su scope

Mi piace molto la gestione della memoria basata su scope (SBMM), o RAII , poiché è più comunemente (in modo confuso?) a cui fa riferimento la comunità C ++. Per quanto ne so, ad eccezione di C ++ (e C), oggi non esiste un altro linguaggio mains...
posta 09.03.2014 - 14:32
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
4
risposte

Il wrapper RAII è una buona idea per questa API di transazione C o dovrei attenermi allo stile C?

Considera la seguente API C: void BeginTransaction(State *s); void AddToTransaction(State *s, Object *value); void CommitTransaction(State *s); void Foo(State *s, Object *value) { BeginTransaction(s); AddToTransaction(s, value); C...
posta 12.12.2016 - 18:05
4
risposte

Suggerimenti per l'estensione idioma RAII

RAII è di gran lunga l'idioma più utile in c ++. Tuttavia sembrano esserci due trappole comuni ad esso associate che ritengo debbano essere formalmente affrontate. Mancato rilascio di una risorsa nel distruttore e invalidazione delle risorse...
posta 22.11.2016 - 02:03
1
risposta

Esiste un modo per utilizzare le tecniche RAII in COM?

Sono preso tra due modelli concettuali su come costruire oggetti, e sto avendo problemi a capire quale standard voglio adottare. Preferisco programmare in .NET e spesso provo a usare RAII e le proprietà di sola lettura per creare oggetti immu...
posta 24.07.2014 - 17:20
3
risposte

Possibili alternative per copiare i costruttori

Nel mio progetto C ++ mi sto affidando ad alcune librerie che gestiscono la memoria per me. Faccio classi di wrapper, per facilità d'uso e sicurezza della memoria, per esempio la classe qui sotto. Si noti che questo è un esempio molto semplifica...
posta 12.08.2015 - 12:19
2
risposte

Quando utilizzare effettivamente RAII?

Capisco il concetto di RAII: Utilizzare il distruttore come mezzo per liberare risorse, come la memoria, o chiudere handle di file / connessioni database. Provenendo da uno sfondo Java, questo in realtà era piuttosto facile da capire a causa del...
posta 21.04.2017 - 23:03
2
risposte

Design preferibile della protezione per l'ambito in C ++

Recentemente, mi sono imbattuto in un problema riguardante la progettazione della protezione per ambito. Una guardia di ambito richiama un oggetto funzione fornito (di solito esegue procedure di pulizia) all'uscita dall'ambito di inclusione. I...
posta 29.01.2016 - 11:33
7
risposte

E se qualche lingua trattasse le risorse non esposte come un errore? [chiuso]

Ho visto un sacco di codice come il seguente esempio. È in Python, ma lo stesso errore è stato fatto in tutte le lingue con risorse gestite: f = open('foo.txt', 'rb') for line in f: print line Questo è tutto. L'errore è che close(f) no...
posta 02.09.2014 - 19:07
1
risposta

Quanto spesso dovrebbe essere usato RAII? [chiuso]

Ho cercato di imparare il C ++, ma è notoriamente tormentato da cattivi tutorial. Ho saputo di un piccolo trucco intelligente chiamato RAII (Acquisizione delle risorse è inizializzazione), dove si avvolge una variabile heap in un oggetto posto i...
posta 23.07.2015 - 06:51