Форум программистов, компьютерный форум, киберфорум
Наши страницы

Для чего нужен define? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа со строками. Связное хранение строк. http://www.cyberforum.ru/cpp-beginners/thread43045.html
Постановка задачи В текстовом файле хранится последовательность слов. Предполагается, что слово содержит не более 20 букв, слова отделяются друг от друга одним или бо-лее пробелами, количество слов...
C++ Нужно исправить 2 ошибки в коде собственно, САБЖ. нужно исправить 2 ошибки в коде, чтобы его можна было скомпилить и сделать из него ехе-шник. код немалый, тому залил на sendspace: http://sendspace.com/file/ubkkh6 времени... http://www.cyberforum.ru/cpp-beginners/thread43015.html
Вывод случайных текстов на экран C++
помогите пожалуйста, мне нужен код для случайных выводов текстов на экран
C++ обход массива рендом.
Дан массив 10 на 10. Рендом выбираем точку, сравниваем элемент... Затем нужно опять выбирать рендом элемент, но так что бы не выбирать тот, который уже брали. Как можно запомнить, что выбирали уже, а...
C++ Не работает цикл for С++ Borland http://www.cyberforum.ru/cpp-beginners/thread42959.html
Элементарная программа: #include <iostream.h> #include <graphics.h> #include <math.h> #include <conio.h> #include <stdio.h> #include <stdlib.h> #include <dos.h> void main ()
C++ Программа производит неправильный вывод Помогите найти ошибку!!! Заранее спасибо!!! #include <iostream.h> main (void) { int a = 1; void f() { int b = 1; подробнее

Показать сообщение отдельно
XuTPbIu_MuHTAu
Эксперт С++
2234 / 749 / 10
Регистрация: 27.05.2008
Сообщений: 1,498
05.07.2009, 14:16
Нифига #define не устаревший.Правда, для констант действительно есть const. А кроме этого есть еще макросы, у которых есть разные сильные силы.

Примеры полезных макросов для Visual Studio :
Код
 
#define chSTR2(x) #x
#define chSTR(x)  chSTR2(x)
#define chMSG(desc) message(__FILE__ "(" chSTR(__LINE__) "):" #desc)
строка
#pragma chMSG(блаблабла)
после компиляции выдаст предупреждение на этой строке с текстом блаблабла.
#define chBEGINTHREADEX(psa,cbStack,pfnStartAddr,pvParam,fdwCreate,pdwThreadID) \
((HANDLE ) _beginthreadex( \
(void * )(psa),\
(unsigned int) (cbStack),\
(unsigned int (__stdcall*)(void*) ) (pfnStartAddr),\
(void* ) (pvParam),\
(unsigned int) (fdwCreate),\
(unsigned int * ) (pdwThreadID)))
Все преобразования типов WinAPI к типам C++ зашиты в макрос,чтобы не выписывать эти каракули,вызывая __beginthreadex


Кроме того, можно использовать всякие #ifndef и т д для разных версий.Посмотрите любой стандартный хедер - увидите кучу проверок. Ну,самое известное :

#ifdef __DEBUG__
printf("до сюда добрались");
#endif

Теперь в зависимости от того,был ли гденить #define __DEBUG__ будет показана строчка на экран.
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru