![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 20.10.2011
Сообщений: 433
|
![]()
Есть ли разница для программы\ресурсов\быстродействия между:
Код:
Код:
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
помоему первое это инициализация членов структуры, а не заполнение её нулями.
итого вы инициализируете только первый член нулем. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 20.10.2011
Сообщений: 433
|
![]()
По первому всегда думал, что идет инициализация + заполнение всей структуры нулями.
Эм, если честно не знаю, именно поэтому и спрашиваю, что так, что сяк - работает. Вопрос, то в другом, как будет лучше и правильнее. |
![]() |
![]() |
![]() |
#4 | |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
![]() Цитата:
То есть допустимо вообще так. int arr[100] = {}; WNDCLASSEX wnd = {}; З/Ы WNDCLASSEX wnd; ZeroMemory(&wnd, sizeof(wnd)); // так должно быть медленнее по идее Последний раз редактировалось EUGY; 02.04.2012 в 14:51. |
|
![]() |
![]() |
![]() |
#5 | ||
C++ hater
Старожил
Регистрация: 19.07.2009
Сообщений: 3,333
|
![]()
2Пепел Феникса
Цитата:
Цитата:
если рассматривать только POD типы, то разницы в принципе нет. если и есть, то зависит от конкретного компилятора. по логике memset должен быть медленнее, хотя бы из-за вызова функции. я предпочитаю при инициализации инициализировать, а не занулять. пс. почему говорю про memset - потому что ZeroMemory - виндовый макрос, вызывающий memset(ptr, 0, size)
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
||
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 20.10.2011
Сообщений: 433
|
![]()
pproger, понятно, просто несколько раз в литературе, как в нашей, так и в иностранной натыкался на утверждение, мол если оставлять инциализациию типа WNDCLASSEX wnd;
wnd.wnd1 wnd.wnd2 и т.д., то в памяти может скопиться много гауна, которае в итоге, при больших программах может саму программу замедлить(например время ожидания\обработки). А вот уже в зависимости от литературы, уже и фигурирует ZeroMemory или = {0}. А не могли бы уточнить, что происходит, если сперва все члены структуры занулить, а уже потом инициализировать? |
![]() |
![]() |
![]() |
#7 | |
C++ hater
Старожил
Регистрация: 19.07.2009
Сообщений: 3,333
|
![]()
2L6go1as
Цитата:
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 20.10.2011
Сообщений: 433
|
![]() |
![]() |
![]() |
![]() |
#9 |
C++ hater
Старожил
Регистрация: 19.07.2009
Сообщений: 3,333
|
![]()
2L6go1as
если ты собираешься инициализировать ВСЕ члены структуры (или только те, которые попадают в cbSize (а не size, кстати)), то {0} можно не писать. я по привычке всегда пишу {0}.
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 20.10.2011
Сообщений: 433
|
![]()
Ок, пасиб.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
smarty и не равно | ilma55 | PHP | 2 | 09.06.2011 00:00 |
Сделал задачу, а она все равно не выполняет задания | ВДПУ | Помощь студентам | 2 | 17.05.2011 20:27 |
лист2 равно лист1 | Cpluser | Microsoft Office Excel | 2 | 30.03.2010 08:21 |
и все равно мерцает! | Spiritual | Win Api | 4 | 06.02.2009 20:28 |
Делимся идеями (простыми, но до которых все-равно нужно додуматься) | Jora_Kornev | Общие вопросы Delphi | 3 | 11.01.2009 14:18 |