Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, gostaria que analizassem essas duas funções e me tirassem duas dúvidas, elas fazem a memsa coisa, mas uma usa memória dinâmica (a primeira):
int CMemoria::addCategoria(unsigned int id, const char nome, const char cor, char nota)
{
Categoria_t *Gravar = new Categoria_t();
Gravar->id = id;
strSet(Gravar->nome, nome);
strSet(Gravar->cor, cor);
Gravar->nota = nota;
delete [] Gravar;e
int CMemoria::addCategoria(unsigned int id, const char nome, const char cor, char nota)
{
Categoria_t Gravar;
Gravar.id = id;
strSet(Gravar.nome, nome);
strSet(Gravar.cor, cor);
Gravar.nota = nota;Minha primeira dúvida:
Gostaria de saber qual são as vantagens de uso de cada uma (qual é mais rápida, qual é mais custosa, ...)
Minha segunda dúvida:
Na primeira função eu uso um "delete []" para liberar a memória utilizada, porem na segunda não sei como o fazer. Gostaria de saber se o espaço de memória utilizado na segunda função ficará indisponível (se ocorre vazamento de memória.)
Carregando comentários...