Изучаем С++ создавая игры в ue4 Уилльям Шериф Изучайте программирование С++ с интересным применением реально мира, что позволит вам создавать ваши собственные игры!


Интегрированной  Среды  Разработки



Pdf көрінісі
бет108/252
Дата06.01.2022
өлшемі12,25 Mb.
#11940
1   ...   104   105   106   107   108   109   110   111   ...   252
Байланысты:
аа

Интегрированной  Среды  Разработки  (ИСР)  (это  значит,  они  появляются  в  дереве 
обзора  Solution  Explorer,  с  левой  стороны),  присоединение  прототипов  к  телу 
функций выполняется автоматически компилятором. 
Переменные extern 
Объявление  extern  схоже  с  прототипом  функции,  но  применяется  к  переменным. 
Вы  можете  расположить  объявление  глобальной  переменной  extern  в  файле .h  и 
включить  этот  .h  файл  во  всю  связку  других  файлов.  Таким  образом,  у  вас  может 
быть  единственная  глобальная  переменная,  которая  может  совместно 
использоваться  множеством  исходных  фалов,  без  получения  множества  ошибок 
определенных  символов  найденных  компоновщиком.  Вы  располагаете  само 
объявление переменной в файле .cpp, так что переменная объявляется только раз. 
Переменная extern есть в файле prototypes.h в предыдущем примере.  
Макросы 
Макросы  С++  выходят  из  класса  команд  С++  называемых  директивами 
препроцессора. Директивы препроцессора выполняются до компиляции. 
Макросы начинаются с #define. Например, у нас есть следующий макрос: 
#define PI 3.14159
  
На  самом  низком  уровне  макросы  просто  копируют  и  вставляют  операции, 
которые  происходят  перед  временем  компиляции.  В  предыдущем  утверждении 
макроса, 3.14159 буквально будет скопировано и вставлено всюду где в программе 
встречается символ PI. 
Посмотрите на следующий пример кода: 
#include  
using namespace std; 
#define PI 3.14159 
int main() 

double r = 4; 
cout << "
Окружность равна " << 2*PI*r << endl; 

Что  будет  делать  препроцессор  С++?  Сначала  пройдёт  по коду  и  просмотрит  есть 
ли использование символа PI.
 
 Он найдёт такое использование на этой строке: 
cout << "
Окружность равна " << 2*PI*r << endl;
  


103 | 
С т р а н и ц а
 
 
Предыдущая  строка  кода  до  компиляции  будет  преобразовываться  в  следующую 
строку: 
cout << "
Окружность равна " << 2*3.14159*r << endl;
  
Итак,  всё  что  происходит  с  утверждением  #define  это  замещение  всех 
используемых  случаев  (например  PI)  на  алгебраическое  число  3.14159  перед 
компиляцией.  Смысл  использования  макросов  таким  образом,  в  том,  чтобы 
избегать  числа  усложняющие  код.  Символы  обычно  легче  читать,  чем  большие, 
длинные числа.  


Достарыңызбен бөлісу:
1   ...   104   105   106   107   108   109   110   111   ...   252




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет