Padrões de gerenciamento de memória em C ++
Eu acho que tenho uma experiência considerável com padrão projetado normal (funcional), como descrito, e. ema gangue de quatro livros, que eu usei principalmente em java e c #. Nestes idiomas "gerenciados", isso é praticamente tudo que você precisa saber para realizar seu trabalho.
No entanto, no mundo C ++, o desenvolvedor também tem o controle de como todos os objetos são alocados, passados e excluídos. Eu entendo os princípios (eu leioStroutrup entre outros textos), mas ainda preciso de muito esforço para decidir qual mecanismo é o melhor para um determinado cenário - e é aí que um portfólio de padrões de design relacionados à memória seria útil.
Por exemplo, ontem eu tive que criar uma aulaResults
, que era um contêiner para alguns objetos e uma coleção (std :: vector neste caso) de outro tipo de objetos. Então, há algumas perguntas de design que eu não consegui responder:
É claro que os indicadores inteligentes são legais e não, mas criam confusão sintática e não estou convencido de que usar o malloc para cada objeto é a melhor abordagem.
Eu ficaria grato por respostas para os pontos específicos acima, mas ainda mais por alguns textos mais longos e gerais sobre padrões de design relacionados à memória - para que eu possa resolver os problemas que terei também às segundas-feiras!