Attualmente voglio rendere la classe accessor wrapper in ambiente multithread. Lo scopo della classe è semplice: afferra un blocco sulla sua costruzione e rilascia un blocco sulla sua distruzione. Oltre a questo, è identico a un puntatore normale. Inoltre, voglio evitare che venga creato su un'area heap per garantire che il blocco verrà rilasciato alla fine.La variabile stack-only è possibile in C++?
L'inverso è abbastanza semplice (costruttore privato con metodo factory), ma non so che sia possibile una variabile solo stack. C'è comunque?
Penso che cose come queste non siano necessarie. Ogni programmatore decente dovrebbe sapere di usare nuovo/eliminare a proprio rischio. Se il programmatore vuole questo oggetto sullo heap e getta via il punto dell'esistenza delle classi, lasciali. –
Quello che chiedi è impossibile e non necessario. Se un programmatore incompetente utilizza il tuo codice, riuscirà comunque a rompere la propria applicazione * in ogni caso *. E se sono competenti, allocheranno il tuo oggetto di blocco nel modo in cui è destinato a: in un contesto di ambito. – jalf
"Proteggi contro Murphy, non Machiavelli" - Herb Sutter – MSalters