Здравствуйте, alzt, Вы писали:
A>Здравствуйте, mik1, Вы писали:
N>>>N>>>//file a.cpp
N>>>void foo();
N>>>{
N>>> CTLVParser* parser = NULL;
N>>> function( parser );
N>>> delete parser;
N>>>}
N>>>//file b.cpp (реализация этой function)
N>>>void function( CTLVParser* parser )
N>>>{
N>>> parser = new CTLVParser();
N>>> ....
N>>>}
N>>>
N>>>Исправлять не стал. Пускай сам в своем г-не копаются.
M>>Я, кажется, догадался. Это такая индийская реализация smart pointer-а. Типа при любом нормальном выходе из метода память чистить. Реализация для Сишных (не плюсовых) динозавров.
A>Только в данном случае будет утечка, т.к. "delete parser" вызовется для нуля.
Не будет утечки, этот указатель передается в функцию, там по этому адресу положат не ноль.