11.08.2012 / 10:52 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| beginner, это команды препроцессора. Первая и третья нужны для того, чтобы задавать какие-нибудь условия при компиляции. Вторая служит для установки параметров, констант и т.д. Например, ты хочешь отладить программу, чтобы куда-нибудь писался лог об ошибках, но в релизе это не надо, вот ты и пишешь: #define DEBUG 1
....
#ifdef DEBUG
Log.debug("Entry point");
#endif
Если написать "#define DEBUG 0", то условие препроцессора не выполнится, соответственно запись в лог не будет. Таким же образом можно создавать различные конфигурации своих программ. __________________
let live |
11.08.2012 / 11:13 | |
beginner Пользователь Сейчас: Offline
Имя: Валентин Регистрация: 25.11.2011
| Тоесть их можно никогда не использовать и программа из-за этого не станет хуже ?
|
11.08.2012 / 11:15 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| beginner, да, можно не использовать.
__________________
let live |
11.08.2012 / 11:16 | |
beginner Пользователь Сейчас: Offline
Имя: Валентин Регистрация: 25.11.2011
| Не хочу спамить, но большое спасибо..
|
11.08.2012 / 12:12 | |
Oak Пользователь Сейчас: Offline
Имя: Коля Откуда: Москва Регистрация: 02.06.2010
| beginner, Пожалуйста) Всегда рады помочь
__________________
Эль Презеденте |
14.08.2012 / 13:38 | |
beginner Пользователь Сейчас: Offline
Имя: Валентин Регистрация: 25.11.2011
| Обясните пожалуйста нубу, как работает оператор return ? Много раз встречал, и до сех пор не дошло как ео правильно использовать.... |
14.08.2012 / 13:44 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| beginner, когда программа выполняется и натыкается на оператор return, она игнорирует всевозможные операторы, которые идут дальше в методе и передаёт управление методу, который был в стеке сразу за выполняющимся. Использование: если надо досрочно выйти из метода. Пример: void showCompleteMessage(int percentage) {
// Если процент выполнения меньше 100, значит выводить инфо о завершении не нужно.
if (percentage < 100) return;
cout << "Operation complete!";
}
А если метод должен что-то возвращать, тогда после return следует возвращаемое значение. Например: int getPercentage() {
return percentage;
}
Или посложнее: int getCuteGirlId() {
int rand = rand() % 3;
if (rand == 0) return 111;
if (rand == 1) return 2559;
return 2384;
}
__________________
let live Изменено aNNiMON (14.08 / 13:50) (всего 4 раза) |
14.08.2012 / 13:44 | |
Oak Пользователь Сейчас: Offline
Имя: Коля Откуда: Москва Регистрация: 02.06.2010
| beginner, Он возвращает… :нар:
__________________
Эль Презеденте |
14.08.2012 / 14:52 | |
XakepPRO Модератор форума Сейчас: Offline
Регистрация: 20.06.2012
| Программа, приведенная ниже, вычисляет число «пи» – тем точнее, чем больше «круг». Она не только компилируется, но еще и работает! Однако, понять, как она работает, невозможно ни путем анализа исходного кода, ни сохранением препроцессорного вывода в отдельном файле, ни даже дизассемблированием откомпилированного файла. Это не шутка! Программа для расчета числа «пи». Да-да, именно расчета, а не вывода готовой константы посредством сопроцессора. Чем больше круг — тем выше точность расчетов. /*
* Program to compute an approximation of pi
* by Brian Westley, 1988
*/
#define _ 0xF<00? --F<00||--F-OO--:-F<00||--F-OO--;
int F=00,OO=00;
main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO()
{
_-_-_-_
_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_
_-_-_-_
}
|
15.08.2012 / 04:06 | |
nexmean Пользователь Сейчас: Offline
Имя: Александр Макаров Откуда: Владивосток Регистрация: 11.08.2011
| XakepPRO, автор случаем не потомственный индийский программист?
|