Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

unsigned char*

196  1 2 все
Murr коренной житель09.04.07 11:50
Murr
09.04.07 11:50 
в ответ kashej 09.04.07 11:28
А по поводу размера char - еще ни разу не слышал, что он может быть еще чем-то кроме байта.
------
Эээ... собственно, добавить тут нечего... отсылаю даже не стандарту и документции производителя,
а к изучению каких-нибудь доков по юникоду...
#21 
  Chipolino местный житель09.04.07 12:54
NEW 09.04.07 12:54 
в ответ kashej 09.04.07 11:28
Так бы и сказал что передаешь просто битовые поля ...
#22 
  Chipolino местный житель09.04.07 13:00
09.04.07 13:00 
в ответ kashej 09.04.07 11:28
В ответ на:

по поводу размера char - еще ни разу не слышал, что он может быть еще чем-то кроме байта.

А на каких платформах ты уже работал ?
Недавно на ЛОРе тоже один утверждал что в байте всегда и везде 8 бит ...
#23 
kashej постоялец09.04.07 13:02
kashej
NEW 09.04.07 13:02 
в ответ Chipolino 09.04.07 12:54
Битовые поля определены абстрактно. Как они будут выглядеть на уровне представления... это задача 6-го уровня ISO/OSI.
http://denis-aristov.ucoz.com
#24 
  vadim гость09.04.07 17:26
NEW 09.04.07 17:26 
в ответ Chipolino 09.04.07 10:35, Последний раз изменено 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 не говоря уж о том, что второй вариант не может содержать нулевых значений, что в случае авторской задачи полностью дисквалифицирует этот вариант.

#25 
1 2 все