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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
DP1
-45 / 0 / 0
Регистрация: 24.12.2010
Сообщений: 24
#1

На самом деле #define'а нету. - C++

25.12.2010, 20:37. Просмотров 1876. Ответов 40
Метки нет (Все метки)

На самом деле #define нету.
Вот например если мы напишем в c++
C++
1
2
#define yes 1
#define no 0
то на самом деле мы получим
C++
1
2
int yes=1;
int no=0;
И Т.П
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2010, 20:37     На самом деле #define'а нету.
Посмотрите здесь:

Число double 0.1 на самом деле не 0.1 - C++
Кто сталкивался с таким глюком, почему если я задаю double x=0.1; в дебаггере я его вижу как 0.10000000000000001 ? я знал что float...

Что такое string на самом деле? - C++
Всем привет! Столкнулся с проблемой и никак не могу разобраться. Мне необходимо из строки string str получить unsignet char* для...

ошибки которых на самом деле нет - C++
possible use of идентификатор before diffinotion(С++) у меня в компиляторе возникает такое предупреждение, хотя все переменные объявлены...

Что такое ссылка на самом деле? - C++
Здравствуйте. Насколько я понимаю, ссылка - это переменная, которая на самом деле является указателем на адрес другой переменной, но с...

что же на самом деле делает strcpy? - C++
вот такой пример #include <iostream> #include <string> using namespace std; int main () { string buff; buff += "what a...

Оператор \ выражение - что же это такое на самом деле? - C++
Какого ... выражение называют оператором?

Передача массива в функцию - что на самом деле предается? - C++
Имя массива это константный указатель. Когда мы передаем его в функциюvoid f1(int *iArray) f1 это происходит как pass by reference. В...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
25.12.2010, 22:15     На самом деле #define'а нету. #21
Цитата Сообщение от 'Kastaneda' Посмотреть сообщение
Зачем выкладывать фото монитора, на котором открыт html файл в блокноте, в теме "На самом деле #define'а нету."
ISergey
Maniac
Эксперт С++
1373 / 884 / 52
Регистрация: 02.01.2009
Сообщений: 2,653
Записей в блоге: 1
25.12.2010, 22:20     На самом деле #define'а нету. #22
Куда мир катится... О_о

На самом деле #define нету.
Вот например если мы напишем в c++
C++
1
2
#define yes 1
#define no 0
то на самом деле мы получим

C++
1
2
int yes=1;
int no=0;
И Т.П
Неужели? тогда почему я так не могу сделать?
C++
1
2
3
4
5
6
7
#define a 10
 
int main()
{
    a = 15;
    return 0;
}
DP1
-45 / 0 / 0
Регистрация: 24.12.2010
Сообщений: 24
25.12.2010, 22:20  [ТС]     На самом деле #define'а нету. #23
я имею введу прогу
DP1
-45 / 0 / 0
Регистрация: 24.12.2010
Сообщений: 24
25.12.2010, 22:22  [ТС]     На самом деле #define'а нету. #24
Это доказательство что это прога
Миниатюры
На самом деле #define'а нету.  
Kastaneda
25.12.2010, 22:26
  #25

Не по теме:

Ну а что, весомое доказательство. Так значит действительно дефайнов нет. Черт, мое мировозрение пошатнулось(

DP1
-45 / 0 / 0
Регистрация: 24.12.2010
Сообщений: 24
25.12.2010, 22:26  [ТС]     На самом деле #define'а нету. #26
Цитата Сообщение от ISergey Посмотреть сообщение
Куда мир катится... О_о



Неужели? тогда почему я так не могу сделать?
C++
1
2
3
4
5
6
7
#define a 10
 
int main()
{
    a = 15;
    return 0;
}
Конечно не можешь. омпилятор скрывает эту переменную!
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
25.12.2010, 22:27     На самом деле #define'а нету. #27
DP1, и что? Ну скрыл он её. И что дальше?
А если скрыл, то почему? Если она, так сказать, глобальная.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
25.12.2010, 22:30     На самом деле #define'а нету. #28
ТС, не в обиду, но иди-ка ты почитай книжки, тебе уже сто раз объяснили, что есть #define и что тут он есть.
DP1
-45 / 0 / 0
Регистрация: 24.12.2010
Сообщений: 24
25.12.2010, 22:30  [ТС]     На самом деле #define'а нету. #29
То что
Delphi
1
if pos('tata') then writeln('Error unindefecer indefecator tata')
ForEveR
25.12.2010, 22:31
  #30

Не по теме:

Ага. Понятно. Еще один Denes или Великан или как его еще там...

silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
25.12.2010, 22:31     На самом деле #define'а нету. #31
Ладно, скажу больше. Почему я не могу сделать так

C++
1
2
3
4
5
6
7
8
9
#include <iostream>
 
#define a 15
 
int main()
{
    int a = 10;
    return 0;
}
Если у нас a в main должен перекрывать глобальную a, в которую превращается несуществующий define.
DP1
-45 / 0 / 0
Регистрация: 24.12.2010
Сообщений: 24
25.12.2010, 22:32  [ТС]     На самом деле #define'а нету. #32
Цитата Сообщение от ForEveR Посмотреть сообщение
ТС, не в обиду, но иди-ка ты почитай книжки, тебе уже сто раз объяснили, что есть #define и что тут он есть.
его не было и никогда не будет!!!
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
25.12.2010, 22:32     На самом деле #define'а нету. #33
Понятно, толстый тролль... Надо же, а я купился...
DP1
-45 / 0 / 0
Регистрация: 24.12.2010
Сообщений: 24
25.12.2010, 22:33  [ТС]     На самом деле #define'а нету. #34
я уже сто раз сказал даже код выложил! что вам ещё надо
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
25.12.2010, 22:34     На самом деле #define'а нету. #35
DP1, К примеру чтобы ты почитал книжку и не спорил с дядями... Hello world То хоть сам на плюсах написал?
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
25.12.2010, 22:35     На самом деле #define'а нету. #36
Цитата Сообщение от 'DP1' Посмотреть сообщение
что вам ещё надо
Мне бы проц новый не помешал и гиговая плашка оперативки...
rangerx
1932 / 1541 / 141
Регистрация: 31.05.2009
Сообщений: 2,911
25.12.2010, 22:41     На самом деле #define'а нету. #37
C
1
2
3
4
5
6
7
#define a 10
 
int main()
{
     a;
     return 0;
}
gcc -E file.c
DP1
-45 / 0 / 0
Регистрация: 24.12.2010
Сообщений: 24
25.12.2010, 22:46  [ТС]     На самом деле #define'а нету. #38
в мою пользу

Добавлено через 47 секунд
Извени мне сомаму побольше оп надо
MegaAce
330 / 304 / 65
Регистрация: 14.02.2010
Сообщений: 662
25.12.2010, 22:57     На самом деле #define'а нету. #39
Хотел дизассемблирнуть ексешку с
C++
1
2
3
4
5
6
7
#define a 10
 
int main()
{
     int b=a;
     return 0;
}
Комп завис! Не дано мне знать как оно работает!
Но уверен что оно заменяет в процессе компилирования a на 10, и все!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2010, 23:20     На самом деле #define'а нету.
Еще ссылки по теме:

Нелепые define-ы - C++
Вопрос... Какой смысл в таких define-ах? Чтобы никто ни черта не понял? оО #define _TRY_BEGIN try { #define _CATCH(x) } catch (x)...

#define and debug_mode - C++
Столкнулся с необходимостью использовать при отладке довольно внушительные куски кода. (ранее решил проблему с мелкими кусками)(смотри...

поясните по #define - C++
У меня есть super class Animals и два подкласса Cats и Birds крайне похожие в реализации. Так вот хочу сделать так: в файле &quot;Birds.h&quot;...

Не срабатывает #define - C++
Почему не срабатывает #define и как исправить ? #include &quot;stdafx.h&quot; #include &quot;conio.h&quot; #include &quot;Tennis.h&quot; #define LIM 20 using...

Const #define - C++
{ const int HOLFSDsize= 2;//#define HOLFSDsize 2 // m-угольник void HOLFSD() { int i, n, l; // объявляем...


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

Или воспользуйтесь поиском по форуму:
rangerx
1932 / 1541 / 141
Регистрация: 31.05.2009
Сообщений: 2,911
25.12.2010, 23:20     На самом деле #define'а нету. #40
Цитата Сообщение от MegaAce Посмотреть сообщение
Но уверен что оно заменяет в процессе компилирования
В процессе препроцессирования. Для gcc ключ -E позволяет посмотреть, как будет выглядеть после этого исходный код.
Yandex
Объявления
25.12.2010, 23:20     На самом деле #define'а нету.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru