Как вновь созданный обьект их кучи, заполнить 0???
От: Fynjisx  
Дата: 07.07.08 09:55
Оценка:
Создаю обьект в куче:
char* sz_f = new char[34];
мне нужно чтобы все элементы в куче были '\0'. Если какая либо более короткая запись этого???
Заранее благодарю.
С уважением Fynjisx
Re: Как вновь созданный обьект их кучи, заполнить 0???
От: Alexander G Украина  
Дата: 07.07.08 10:11
Оценка:
Здравствуйте, Fynjisx, Вы писали:

F>Создаю обьект в куче:

F>char* sz_f = new char[34];
F>мне нужно чтобы все элементы в куче были '\0'. Если какая либо более короткая запись этого???
здесь
Автор: Андрей Тарасевич
Дата: 07.12.04
Русский военный корабль идёт ко дну!
Re: Как вновь созданный обьект их кучи, заполнить 0???
От: dandy  
Дата: 07.07.08 10:11
Оценка:
Здравствуйте, Fynjisx, Вы писали:

memset не пробовал?
Еще в vc есть макрос ZeroMemory
А сейчас еще напишут как можно при помощи stl...
Re[2]: Как вновь созданный обьект их кучи, заполнить 0???
От: Alexander G Украина  
Дата: 07.07.08 10:25
Оценка:
Только здесь
Автор: любой
Дата: 19.06.08
обсуждается что при этом не все компиляторы одинаково полезны
Русский военный корабль идёт ко дну!
Re[2]: Как вновь созданный обьект их кучи, заполнить 0???
От: codelord  
Дата: 07.07.08 13:22
Оценка:

std::fill( sz_f, sz_f + 34, '\0' );
Здравствуйте, dandy, Вы писали:

D>Здравствуйте, Fynjisx, Вы писали:


D>memset не пробовал?

D>Еще в vc есть макрос ZeroMemory
D>А сейчас еще напишут как можно при помощи stl...
Re[3]: Как вновь созданный обьект их кучи, заполнить 0???
От: codelord  
Дата: 07.07.08 13:30
Оценка:
не фига у меня филл работает больше чем в два раза быстрее 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???
От: dandy  
Дата: 07.07.08 13:44
Оценка: +1
Здравствуйте, codelord, Вы писали:


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???
От: gear nuke  
Дата: 08.07.08 02:55
Оценка:
Здравствуйте, dandy, Вы писали:

D>Удивляет.


Для "буфер из 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
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.