Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Глобальная static-переменная известна только для файла, в котором она объявлена.
//---------------------Первый файл--------------------- #include <iostream> Using namespace std; Int r_avg(int i); Void reset(); Int main() { Int num; do { cout <<"Введите числа (-1 для выхода, -2 для сброса): "; cin >> num; if(num==-2) { Reset(); Continue; } if(num!= -1) cout << "Среднее значение равно: " << r_avg(num); cout << '\n'; }while(num!= -1); Return 0; } //---------------------Второй файл--------------------- #include <iostream> static int sum=0, count=0; Int r_avg(int i) { sum = sum + i; count++; return sum / count; } Void reset() { sum = 0; count = 0; В этой версии программы переменные sum и count являются глобально статическими, т.е. их глобальность ограничена вторым файлом. Итак, они используются функциями r_avg() и reset(), причем обе они расположены во втором файле. Этот вариант программы позволяет сбрасывать накопленную сумму (путем установки в исходное положение переменных sum и count), чтобы можно было усреднить другой набор чисел Возможно, чаще всего используется спецификатор класса памяти register. Для компилятора Модификатор register означает предписание обеспечить такое хранение соответствующей Переменной, чтобы доступ к ней можно было получить максимально быстро. Спецификатор register в объявлении переменной означает требование оптимизировать код Для получения максимально возможной скорости доступа к нейНа примере следующей функции показано, как register-переменная типа int используется Для управления циклом. Эта функция вычисляет результат выражения mе для целочисленных значений с сохранением знака исходного числа (т.е. при m = -2 и е = 2 результат будет равен -4). Int signed_pwr(register int m, register int e) { Register int temp; Int sign; if(m < 0) sign = -1; else sign = 1; temp = 1; for(; e; e--) temp = temp * m; return temp * sign; } В этом примере переменные m, е и temp объявлены как регистровые, поскольку все они Используются в теле цикла, и потому к ним часто выполняется доступ. Однако переменная sign Date: 2016-07-25; view: 294; Нарушение авторских прав |