Здравствуйте Anton V. Kolotaev, Вы писали:
AVK>Здравствуйте Simple Boy, Вы писали:
AVK>malloc — механизм выделения памяти, принятый в С
AVK>new — в С++.
AVK>new — приводит к вызову конструктора, malloc — нет.
SB>>Можно ли перевыделять память полученную по new
SB>>функцией realloc ?
AVK>Попробуй
AVK>Это — грубейшая ошибка.
Попробовал. Работает. По крайней мере на таком примере:
BYTE *p=new BYTE[2];
p[0]=1;
p[1]=2;
realloc(p,3);
p[2]=3;
delete p;
Но я понимаю что это не есть хороший стиль. Но в таком случае как
перевыделять память полученную от new ?
BYTE *p=new BYTE[2];
p[0]=1;
p[1]=2;
BYTE *temp=new BYTE[2];
memcpy(temp,p,2);
delete p;
p=new BYTE[3];
memcpy(p,temp,2);
p[2]=3;
Так ?