Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как работает switch, необходимо выбирать 
V
    Опции темы
dumb
Дата 7.11.2006, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 32
Всего: 158



Цитата(Vyacheslav @  7.11.2006,  11:14 Найти цитируемый пост)
Использовать макросы в качестве банального уменьшения набиваемых символов - это как раз бездумное использование.

хм. а я почему-то думал, что они для этого и предназначены... smile
PM MAIL   Вверх
Vyacheslav
Дата 7.11.2006, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 47
Всего: 59



Цитата(dumb @  7.11.2006,  14:40 Найти цитируемый пост)
хм. а я почему-то думал, что они для этого и предназначены... 

А я  почему-то думал, что как раз для другого smile
Например для этого
Цитата

pragma hdrstop
#include <iostream>

#define _VAL_(var) #var "=" << var << " "

//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{
    double a = 5.5;
    int b = 6;
    std::cout << _VAL_(a) << std::endl;
    std::cout << _VAL_(b) << std::endl;
    return 0;
}

Это весьма изящный макрос из книги  Мюррэй Хилл и Нью Джерси.
Вот здесь, пожалуй, без макроса не обойтись.
Для  уменьшения набивки макросы тоже можно применять, но только когда при этом преследуются еще и другие цели, например, с целью добиться улучшения читаемости и понимаемости  кода
Например, таже карта сообщений
Цитата

BEGIN_MESSAGE_MAP
  MESSAGE_HANDLER(CM_CHANGECOLOR, TMessage, CMChangeColor)
END_MESSAGE_MAP(TControl)


Макросы же типа 
Код

#define ch(p)       if(p->Checked)

ни к чему, кроме как к затуманиванию кода, привести не могут.



--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
TaNK
Дата 8.11.2006, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 669
Регистрация: 29.10.2006
Где: Краснодар

Репутация: нет
Всего: 1



Цитата(Vyacheslav @ 7.11.2006,  15:39)
Цитата(dumb @  7.11.2006,  14:40 Найти цитируемый пост)
хм. а я почему-то думал, что они для этого и предназначены... 

А я  почему-то думал, что как раз для другого smile
Например для этого
Цитата

pragma hdrstop
#include <iostream>

#define _VAL_(var) #var "=" << var << " "

//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{
    double a = 5.5;
    int b = 6;
    std::cout << _VAL_(a) << std::endl;
    std::cout << _VAL_(b) << std::endl;
    return 0;
}

Это весьма изящный макрос из книги  Мюррэй Хилл и Нью Джерси.
Вот здесь, пожалуй, без макроса не обойтись.
Для  уменьшения набивки макросы тоже можно применять, но только когда при этом преследуются еще и другие цели, например, с целью добиться улучшения читаемости и понимаемости  кода
Например, таже карта сообщений
Цитата

BEGIN_MESSAGE_MAP
  MESSAGE_HANDLER(CM_CHANGECOLOR, TMessage, CMChangeColor)
END_MESSAGE_MAP(TControl)


Макросы же типа 
Код

#define ch(p)       if(p->Checked)

ни к чему, кроме как к затуманиванию кода, привести не могут.

ну иногда бывает затуманивание собственнйо головы и приходят вот такие иногда кажущимися бредовые идеи!


--------------------

Oracle 11.2.0.3.0
FireBird 1.0-2.5


PM MAIL ICQ   Вверх
Vyacheslav
Дата 8.11.2006, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 47
Всего: 59



Цитата(TaNK @  8.11.2006,  14:18 Найти цитируемый пост)
ну иногда бывает затуманивание собственнйо головы и приходят вот такие иногда кажущимися бредовые идеи! 

Ну-ну. Может прежде, чем высказывать собственное мнение о макросах, для начала прочтете Страструпа. Тем более о  существовании макросов Вы похоже узнали лишь несколькими сообщениями выше smile
Вам помогают разобраться, а Вы хамите. Ладно было это была Ваша идея, а то 
586 кинул Вам ее в ответ и сам же оценил "полезность" предложенного решения
Цитата("586")

каков вопрос - таков и ответ... 





--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
TaNK
Дата 8.11.2006, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 669
Регистрация: 29.10.2006
Где: Краснодар

Репутация: нет
Всего: 1



Цитата(Vyacheslav @ 8.11.2006,  15:59)
Цитата(TaNK @  8.11.2006,  14:18 Найти цитируемый пост)
ну иногда бывает затуманивание собственнйо головы и приходят вот такие иногда кажущимися бредовые идеи! 

Ну-ну. Может прежде, чем высказывать собственное мнение о макросах, для начала прочтете Страструпа. Тем более о  существовании макросов Вы похоже узнали лишь несколькими сообщениями выше smile
Вам помогают разобраться, а Вы хамите. Ладно было это была Ваша идея, а то 
586 кинул Вам ее в ответ и сам же оценил "полезность" предложенного решения
Цитата("586")

каков вопрос - таков и ответ... 

и где же по вашему мнению я вам нахомил - я-то не пойму....в каком месте?


--------------------

Oracle 11.2.0.3.0
FireBird 1.0-2.5


PM MAIL ICQ   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0515 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.