Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 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; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию