![]() |
|
Модераторы: bsa |
![]()
|
|
| SABROG |
|
||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 1 Всего: 91 |
Видел пару раз такой код:
Зачем пишут "(void)"? --- А, всё нашел.
Думаю с современной оптимизацией компилятора эта запись бесполезна. Это сообщение отредактировал(а) SABROG - 5.6.2010, 14:44 |
||||
|
|||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
||||
|
||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 1 Всего: 91 |
Есть еще вариант использовать (void), чтобы подавить варнинги компилятора, если идет проверка переменной в assert(), а программа собирается в release. Сам не проверял.
--- Так и есть. Qt использует эту технику:
--- Логика для переменных вроде ясна, а для функций какая? Сказать другому программисту типа "я знаю, что функция возвращает значение, но я его намеренно игнорирую."? Это сообщение отредактировал(а) SABROG - 5.6.2010, 15:14 |
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
обычное приведение к типу void? зачем это делают я незнаю
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 1 Всего: 91 |
Есть еще такой вариант:
Я например всегда безымянные указатели без (void) создавал и никаких проблем небыло. Похоже я чего-то не понимаю. Если всё это ради Lint, то оно того не стоит. |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
да, только другой программист в принципе тут не при чем.. просто явно показать, что именно такого поведения и хотите.. Добавлено через 2 минуты и 52 секунды p.s. и вообще это имхо "дурной тон", писать для других - под всех не угодить.. надо просто стараться писать ясно, чисто и красиво - тогда всем (и прежде всего себе ) будет приятно и понятно. |
|||
|
||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 1 Всего: 91 |
От тролей я такой ответ получил:
То есть по идее должны существовать компиляторы, которые умеют ругаться на программиста, который не проверяет возвращаемые значения. --- Оказывается компилятор GCC имеет аттрибут __attribute__((warn_unused_result)), который начнет выдавать предупреждения, однако по умолчанию он этого не делает. Кроме того через "(void)" это предупреждение не вырубить. Это сообщение отредактировал(а) SABROG - 5.6.2010, 18:44 |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |