|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.04.2012, 13:48 | #1 |
Форумчанин
Регистрация: 20.10.2011
Сообщений: 433
|
А не все ли равно?
Есть ли разница для программы\ресурсов\быстродействия между:
Код:
Код:
|
02.04.2012, 13:55 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
помоему первое это инициализация членов структуры, а не заполнение её нулями.
итого вы инициализируете только первый член нулем. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
02.04.2012, 14:19 | #3 |
Форумчанин
Регистрация: 20.10.2011
Сообщений: 433
|
По первому всегда думал, что идет инициализация + заполнение всей структуры нулями.
Эм, если честно не знаю, именно поэтому и спрашиваю, что так, что сяк - работает. Вопрос, то в другом, как будет лучше и правильнее. |
02.04.2012, 14:46 | #4 | |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Цитата:
То есть допустимо вообще так. int arr[100] = {}; WNDCLASSEX wnd = {}; З/Ы WNDCLASSEX wnd; ZeroMemory(&wnd, sizeof(wnd)); // так должно быть медленнее по идее Последний раз редактировалось EUGY; 02.04.2012 в 14:51. |
|
02.04.2012, 14:54 | #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 |
||
02.04.2012, 16:02 | #6 |
Форумчанин
Регистрация: 20.10.2011
Сообщений: 433
|
pproger, понятно, просто несколько раз в литературе, как в нашей, так и в иностранной натыкался на утверждение, мол если оставлять инциализациию типа WNDCLASSEX wnd;
wnd.wnd1 wnd.wnd2 и т.д., то в памяти может скопиться много гауна, которае в итоге, при больших программах может саму программу замедлить(например время ожидания\обработки). А вот уже в зависимости от литературы, уже и фигурирует ZeroMemory или = {0}. А не могли бы уточнить, что происходит, если сперва все члены структуры занулить, а уже потом инициализировать? |
02.04.2012, 16:10 | #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 |
|
02.04.2012, 16:16 | #8 |
Форумчанин
Регистрация: 20.10.2011
Сообщений: 433
|
|
02.04.2012, 16:21 | #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 |
02.04.2012, 16:25 | #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 |