Форум программистов, компьютерный форум CyberForum.ru

Макрос UNREFERENCED_PARAMETER бесполезен? - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 38, средняя оценка - 4.63
Kgfq
74 / 37 / 2
Регистрация: 23.09.2012
Сообщений: 408
14.12.2012, 16:26     Макрос UNREFERENCED_PARAMETER бесполезен? #1
C++
1
#define UNREFERENCED_PARAMETER(P)          (P)
Зачем нужны подобные макросы? Это же бессмысленно

Добавлено через 25 минут
вверх
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2012, 16:26     Макрос UNREFERENCED_PARAMETER бесполезен?
Посмотрите здесь:

Макрос C++
Если макрос на VBA переписать на С++, то макрос станет работать быстрее? C++
Макрос на с++ C++
C++ Сложный макрос
Разработайте макрос C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
14.12.2012, 19:41     Макрос UNREFERENCED_PARAMETER бесполезен? #21
Цитата Сообщение от gray_fox Посмотреть сообщение
Здесь можно просто имя параметра опустить, макрос не нужен.
Ок. Возможно. В данном случаи зависит от стиля программиста. Но вот тот случай, где Не выкрутишься
C++
1
2
3
4
5
6
7
8
9
10
11
int fun(int a, int b)
{
    _ASSERT(b == 0); 
/*
* Мы знаем, что второй параметр всегда ноль, но так как мы не можем рисковать, то              
* как опытный программист ставим здесь ASSERT(так сделают многие). 
* И вот прогнав по всем тестам нашу программу мы со спокойной душой компилим release-версию 
* и получаем варнинги.
*/
    return a + 1;
}
Добавлено через 1 минуту
diagon, а теперь?
Цитата Сообщение от go Посмотреть сообщение
Чтобы в коде можно было легко найти неиспользованные переменные.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
14.12.2012, 19:49     Макрос UNREFERENCED_PARAMETER бесполезен? #22
Цитата Сообщение от go Посмотреть сообщение
Чтобы в коде можно было легко найти неиспользованные переменные.
Разве что если делать поиск по этому макросу(что маловероятно, ведь зачем искать такие переменные, если они не используются). В обычном просматривании кода коммент в заголовке из-за подсвечивания сразу же бросается в глаза.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
14.12.2012, 19:56     Макрос UNREFERENCED_PARAMETER бесполезен? #23
Цитата Сообщение от diagon Посмотреть сообщение
Разве что если делать поиск по этому макросу(что маловероятно, ведь зачем искать такие переменные, если они не используются)
Да, да, все так. Но разные ситуации бывают, лично мне не приходилось. Ну например закоментили вы часть кода, вам варнинг пришел. Написали макрос. Все ок. Потом раскоментили ту часть кода, когда он опять нужен и все ок. (А если бы закоментили объявление переменной(при этом попотев и найдя это объявление, нужно было снова искать что расскоментить, а чтобы найти вникнуть в весь код). Логично?
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
14.12.2012, 20:10     Макрос UNREFERENCED_PARAMETER бесполезен? #24
Цитата Сообщение от go Посмотреть сообщение
нужно было снова искать что расскоментить
А что там искать? В заголовке функции, тело которой вы пишите.
Цитата Сообщение от go Посмотреть сообщение
вам варнинг пришел
пока функция не финальна, то лучше просто забить на ворнинги.
Цитата Сообщение от go Посмотреть сообщение
Написали макрос. Все ок.
Макрос по определению не ок. Особенно с учетом того, что он находится в каком-то виндовом хедере.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
14.12.2012, 20:13     Макрос UNREFERENCED_PARAMETER бесполезен? #25
Цитата Сообщение от diagon Посмотреть сообщение
Макрос по определению не ок. Особенно с учетом того, что он находится в каком-то виндовом хедере.
Вы тоже считаете, что компилятор его не выпилит?
Давайте сойдемся на том, что это такой стиль.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
14.12.2012, 20:43     Макрос UNREFERENCED_PARAMETER бесполезен? #26
Данная техника используется, например, в наследовании. В том же wxWidgets. Там для обработки событий нужно переопределять виртуальную функцию, которая получает в качестве параметра объект класса "событие". Но очень часто бывает, что в обработчике обращаться к этим объектом просто нет необходимости.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
14.12.2012, 22:45     Макрос UNREFERENCED_PARAMETER бесполезен? #27
Цитата Сообщение от go Посмотреть сообщение
Но вот тот случай, где Не выкрутишься
Ну хз, если честно, никогда подобных ситуаций не возникало (Когда параметр не используется, но в то же время по нему надо проверить некий инвариант).
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
14.12.2012, 23:10     Макрос UNREFERENCED_PARAMETER бесполезен? #28
Вспомнился пример отсюда. (См. начало второго листинга).
Но, разумеется, там используется не макрос а более кошерный вариант.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
15.12.2012, 00:41     Макрос UNREFERENCED_PARAMETER бесполезен? #29
Цитата Сообщение от diagon Посмотреть сообщение
Вспомнился пример отсюда. (См. начало второго листинга).
вспомнился пример отсюда(см. 2-й метод в файле)

Не по теме:

давайте сюда ещё примеров накидаем, напишем кто чем пользовался и т.д., а то всего 3 страницы темы как-то маловато

Кликните здесь для просмотра всего текста
а чё?

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2012, 18:06     Макрос UNREFERENCED_PARAMETER бесполезен?
Еще ссылки по теме:

Сложный макрос C++
C++ макрос препроцессора
C++ Макрос TRACE

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,917
Записей в блоге: 2
Завершенные тесты: 1
15.12.2012, 18:06     Макрос UNREFERENCED_PARAMETER бесполезен? #30
Цитата Сообщение от Kgfq Посмотреть сообщение
Зачем? Разве сразу не ясно, что потребуется?
А разве ясно?
Yandex
Объявления
15.12.2012, 18:06     Макрос UNREFERENCED_PARAMETER бесполезен?
Ответ Создать тему
Опции темы

Текущее время: 19:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru