#include <conio.h>
#include <iostream>
using namespace std;
#define KEY_UP 72
#define KEY_DOWN 80
#define KEY_LEFT 75
#define KEY_RIGHT 77
int main()
{
int c = 0;
while(1)
{
c = 0;
switch((c=getch())) {
case KEY_UP:
cout << endl << "Up" << endl;//key up
break;
case KEY_DOWN:
cout << endl << "Down" << endl; // key down
break;
case KEY_LEFT:
cout << endl << "Left" << endl; // key left
break;
case KEY_RIGHT:
cout << endl << "Right" << endl; // key right
break;
default:
cout << endl << "null" << endl; // not arrow
break;
}
}
return 0;
}
выводится следующим образом:
Up
Down
Right
Left
Up
Left
Right
Right
Up
обнаружена клавиша со стрелкой!
Модуль оценивается только один раз, его экспортируемые переменные по существу образуют единичный объект. Они используются всеми модулями, которые их импортируют.
В вашем первом примере есть одно обещание, которое используется (ну, не совсем, ссылается на ) дважды.
Во втором примере есть одна функция, которая вызывается дважды.