Ho un caso in cui desidero memorizzare un elenco di risorse in un vettore std ::. Come la vedo io, le mie opzioni sono le seguenti:RAII e C++ STL
- dare il mio risorsa un costruttore di default
- memorizzarli come oggetti mucchio (e avvolgerli in un puntatore in comune)
Opzione 1 rende possibile costruire risorse non valide e l'opzione 2 mi obbliga a usare l'heap.
Mi mancano alcune opzioni qui?
perché si desidera assegnare il nome predefinito delle risorse? il vettore richiede solo il copyctor. – Naveen
"l'opzione 2 mi obbliga ad usare l'heap" - beh, il vettore memorizzerà anche i suoi contenuti nell'heap (a meno che non si utilizzi un allocatore personalizzato), anche se nella memoria contigua. Quindi non sarai in grado di ignorare l'utilizzo dell'heap in un modo o nell'altro. –
ha rilevato che stavo memorizzando un riferimento nella mia risorsa, quindi il problema non era il costruttore predefinito, ovvero – dirk