русский
Germany.ruForen → Архив Досок→ Programmierung

unsigned char*

09.04.07 17:26
Re: unsigned char*
 
  vadim гость
in Antwort Chipolino 09.04.07 10:35, Zuletzt geändert 09.04.07 18:43 (vadim)
В ответ на:
Значит ты считаешь , что вызов конструктора и деструктора для каждой строки , для например 100000 строк , обойдётся бесплатно ?
И почему собственно вектор ? а не стринг .
ОО не панацея .

Имеем код а)
        // std::vector<char> a;
// std::vector<char> b;
a.reserve( a.size() + b.size() );
std::copy( b.begin(), b.end(), std::back_inserter( a ) );


и код б)

        // char* a;
// char* b;
a = (char*) realloc( a, ( strlen(a) + strlen(b) + 1 ) * sizeof(char) );
if ( NULL != a )
strcat( a, b );

Как ты думаешь: а) какой код будет исполняться быстрее? б) В каком коде проще допустить ошибку?
PS не говоря уж о том, что второй вариант не может содержать нулевых значений, что в случае авторской задачи полностью дисквалифицирует этот вариант.

 

Sprung zu