Здравствуйте, Fynjisx, Вы писали:
F>Создаю обьект в куче: F>char* sz_f = new char[34]; F>мне нужно чтобы все элементы в куче были '\0'. Если какая либо более короткая запись этого??? здесь
std::fill( sz_f, sz_f + 34, '\0' );
Здравствуйте, dandy, Вы писали:
D>Здравствуйте, Fynjisx, Вы писали:
D>memset не пробовал? D>Еще в vc есть макрос ZeroMemory D>А сейчас еще напишут как можно при помощи stl...
Re[3]: Как вновь созданный обьект их кучи, заполнить 0???
не фига у меня филл работает больше чем в два раза быстрее memset
( Linux Fedora Core 6.0 )g++ (GCC) 4.1.1 20070105 (Red Hat 4.1.1-51 )
( 30000000 запись в буфер из 34 элементов )
( филл 0m1.132s )
( memset 0m2.718s )
C> C>std::fill( sz_f, sz_f + 34, '\0' ); C>Здравствуйте, dandy, Вы писали:
D>>Здравствуйте, Fynjisx, Вы писали:
D>>memset не пробовал? D>>Еще в vc есть макрос ZeroMemory D>>А сейчас еще напишут как можно при помощи stl...
Re[4]: Как вновь созданный обьект их кучи, заполнить 0???
C>не фига у меня филл работает больше чем в два раза быстрее memset C>( Linux Fedora Core 6.0 )g++ (GCC) 4.1.1 20070105 (Red Hat 4.1.1-51 ) C> ( 30000000 запись в буфер из 34 элементов ) C> ( филл 0m1.132s ) C> ( memset 0m2.718s )
Удивляет.
Re[5]: Как вновь созданный обьект их кучи, заполнить 0???
Для "буфер из 34 элементов" вполне ожидаемое поведение. std::fill инлайнится, а в memset вызывается сверхсложная функция
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth