c++ - Qual é a diferença entre new/delete e malloc/free?

c++ - Qual é a diferença entre new/delete e malloc/free?

Qual é a diferença entre new/delete e malloc/free ? Relacionado(duplicado?): Em quais casos eu uso malloc vs new?…


O que REALMENTE acontece quando você não libera o malloc?

Isso tem sido algo que me incomoda há muito tempo. Somos todos ensinados na escola(pelo menos, eu era) que você deve libertar cada ponteiro que é atribuído. Estou um pouco curioso, no entanto, so…


Variável de configuração para NULL após livre

Na minha empresa há uma regra de codificação que diz, após liberar qualquer memória, redefinir a variável para NULL. Por exemplo... void some_func(){int*nPtr; nPtr=malloc(100);…


Diferença entre malloc e calloc?

Qual é a diferença entre fazer: ptr=(char**) malloc(MAXELEMS*sizeof(char*)); ou: ptr=(char**) calloc(MAXELEMS, sizeof(char*)); Quando é uma boa ideia usar calloc sobre malloc ou vice-v…


c++ - Malloc vs novo-preenchimento diferente

Estou revisando o código C++ de outra pessoa para nosso projeto que usa MPI para computação de alto desempenho(10 ^ 5-10 ^ 6 núcleos). O código destina-se a permitir a comunicação entre máquina…


Alocação dinâmica de uma matriz desconhecida em C

Eu preciso pegar um arquivo que é inserido pelo usuário e multiplicá-lo por outro arquivo. Isso eu sei fazer. O problema é que um arquivo é um array e o outro é uma matriz. Eu preciso digitalizar na p…


Qual é a diferença entre um VLA e a alocação de memória dinâmica via malloc?

Fiquei curioso com isso: Qual é a diferença entre: const int MAX_BUF=1000; char* Buffer=malloc(MAX_BUF); e: char Buffer[MAX_BUF];…


c++ - O que significa “Memória alocada em tempo de compilação” realmente significa?

Em linguagens de programação como C e C++, as pessoas geralmente se referem à alocação de memória estática e dinâmica. Eu entendo o conceito, mas a frase "Toda a memória foi alocada(reservada) du…


c - Devo liberar memória antes de sair?

Devo liberar toda a minha memória alocada quando sair do programa devido a um erro? something=(char**) malloc(x*sizeof(char*)); for(i=0; i<x; i++) something[i]=(char*) malloc(y+1);... if(anything== NU…


c - Essa é uma boa maneira de liberar memória?

A função para liberar uma instância do struct Foo é fornecida abaixo: void DestroyFoo(Foo* foo){if(foo) free(foo);}Um colega meu sugeriu o seguinte: void DestroyFoo(Foo** foo){if(!(*foo)) return; Foo*…





malloc calloc free array memory dynamic pointer new create allocation