
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.9.173] |
![]() |
|
Страницы: (3) 1 2 [3] все ( Перейти к последнему сообщению ) |
Сообщ.
#31
,
|
|
|
Такое ощущение, что мы разговариваем о разном. Для чего эти классы Warning, Fatal? Чтобы вывести отладочное сообщение? А не проще ли тогда: ![]() ![]() #if defined(_DEBUG) inline void report_warning( const string& message ) { clog << "Warning: " << message << endl; } #else // _DEBUG inline void report_warning( const string& ) { } #endif // _DEBUG int main() { report_warning( "" ); return 0; } Вообще я обычно юзаю функции и макросы из microsoft crt. Там можно перенаправить вывод или обработать его разными способами. Но это если хочется извращаться. А если нужна переносимость или простота, то вариант с inline функциями удовлетворяет потребности. И мне бы хотелось понять, в чём плюшка, в чём профит от использования классов, да ещё с виртуализацией? |
Сообщ.
#32
,
|
|
|
Цитата Eric-S @ И мне бы хотелось понять, в чём плюшка, в чём профит от использования классов, да ещё с виртуализацией? Не не не. Речь не о использовании классов же шла. Речь о подавлении сообщении о неиспользуемых параметрах. Если же речь именно про классы. Ну был у меня некогда проект на Qt5, в котором открывалась куча вложенных связанных диалогов. Задача была организовать корректную реакцию всех элементов всех диалогов на какое-то изменение. При этом часть диалогов имела идентичное отображение UI, но работала с разными моделями данных. Первое что я сделал, сделал классы-предки типовых UI, а от них наследовал конкретные реализации. В типовом классе-предке реализовал абстрактные методы GetСmd и PostCmd с параметрами (слоты). Так вот. В части реализаций данных методов изредка некоторые параметры не использовалась. Пришлось "научиться" подавлять вот таким вот образом сообщения о неиспользуемых параметрах с помощью /** **/ Добавлено Цитата Eric-S @ Вообще я обычно юзаю функции и макросы из microsoft crt Увы, я стараюсь не привязываться к платформе. |
Сообщ.
#33
,
|
|
|
Цитата JoeUser @ Не не не. Речь не о использовании классов же шла. Речь о подавлении сообщении о неиспользуемых параметрах. Тфу! Точно. Теперь понял куда смотреть. Спасибо за пояснение. Название параметра осталось у потомка, но оно теперь закоментировано. Да, действительно, бывает такое. У меня в проекте тоже есть такие места. Но я использую макрос UNUSED. Если параметр удалить или закоментировать, то doxygen кидает warning, что у реализации метода, название параметра отличается от объявленого. Добавлено Цитата JoeUser @ Увы, я стараюсь не привязываться к платформе. Спорное утверждение. Разрабатывать в qt creator и не привязываться к платформе? Теперь вы привязаны к платформе qt. Это конечно моё личное мнение, но она далеко не фонтан радости. Все проги написанные для десктопов с пользовательским интерфейсом на qt у меня вызывают много мата. Я их даже перестал устанавливать, как только читаю в описании упоминание про qt. |
Сообщ.
#34
,
|
|
|
Скрытый текст На счет Qt меня устраивает многое, хотя исполняемые файлы - жЫрные до безумия. Это печаль. Цитата JoeUser @ Разрабатывать в qt creator и не привязываться к платформе? А вот это можно вполне - там есть типы проектов "Без использования Qt". Линкуй чего хочешь. Я пробовал библиотеку Nana - вполне себе даже. |
Сообщ.
#35
,
Сообщение отклонено: JoeUser -
|
Сообщ.
#36
,
Сообщение отклонено: JoeUser -
|
![]() |
Сообщ.
#37
,
|
|
Цитата Eric-S @ Если параметр удалить или закоментировать, то doxygen кидает warning, что у реализации метода, название параметра отличается от объявленого. Но ведь с учётом возможности перегрузки методов, это предупреждение несколько странно. Я к тому, что перегрузка — штатная и часто используемая фича в языках, где она есть, т.е. таких предупреждений может выдаться крайне много и они будут захламлять действительно важные предупреждения, не? |