Да, это будет утечка.Результаты strdup
должны быть освобождены.
Для C ++, с другой стороны, я рекомендую использовать std::string
вместо char*
:
std::string XX( std::string const & in )
{
return in + std::string( "Something to append" );
}
Это быстрыйи грязный способ реализовать то, о чем вы говорите, но это очень читабельно.Вы можете добиться некоторого улучшения скорости, передав изменяемую ссылку на строку для вывода, но, если это не очень замкнутый цикл, нет особой причины для этого, так как это, скорее всего, добавит усложнение без значительного увеличения производительности.