Imi aloca o constanta dinamica care va fi preprocesata ?
Nu prea inteleg ce ai vrut sa zici. E destul de straightfoward..
Daca este definita constanta _DEBUG atunci se defineste new ca si DEBUG_NEW.
Asta inseamna ca oriunde folosesti in program operatorul new pentru a aloca memorie in mod dinamic (pe heap) se va inlocui la faza de preprocesare cu DEBUG_NEW, deci :
int* v = new int[100];
devine dupa preprocesare
int* v = DEBUG_NEW int[100];
DEBUG_NEW face acelasi lucru ca si new doar ca se pastreaza si niste loguri referitoare la ce moment in program s-a alocat o anumita zona de memorie care pot fi utile la debugging.
http://msdn.microsoft.com/en-us/library/tz7sxz99.aspxPoti sa elimini liniile astea si nu o sa ai nici o problema, poate niste warning-uri.
LE : Constanta _DEBUG cred ca e definita tot timpul, mai putin atunci cand faci un build in modul release.