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

Глобальные статические переменные - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ярлык http://www.cyberforum.ru/cpp-beginners/thread637245.html
Можно как нибудь програмно создать ярлык на определенный сайт в определенном месте?
C++ Выражение должно иметь тип класса. Да ну? перекопал весь форум, ни где не нашел решение моей проблемы. #include <GL/glut.h> #include <Windows.h> #include <iostream> #include <stdio.h> #include <math.h> #include <time.h> #include <vector> http://www.cyberforum.ru/cpp-beginners/thread637241.html
Диспетчер задач и c++ C++
Ребят, здравствуйте. Вопрос следующий: в диспетчере задач, во вкладке процессы есть поле описание у каждого процесса. Вот как установить это поле в своей программе. Сейчас там выводится название программы например - main.exe.
C++ file.clear();
Что выполнит данная команда? ifstream file("file.txt"); file.clear();
C++ Int как char[5] - это нормально или ужасно? http://www.cyberforum.ru/cpp-beginners/thread637217.html
В целях экономии памяти для размещения данных в структуре решил попробовать провернуть такой трюк: int i = 10241024; char ci = {0}; ci = 0xF; // в 0-ом байте - некоторая служебная информация *( reinterpret_cast<int*>(ci+1) ) = i; int i2 = *( reinterpret_cast<int*>(ci+1) );
C++ Если действие завершенно успешно Как мне прописать условие: Если команда system(""); завершена успешно, то сделать то-то подробнее

Показать сообщение отдельно
The_Immortal
1548 / 484 / 8
Регистрация: 04.04.2009
Сообщений: 1,891
13.08.2012, 21:01     Глобальные статические переменные
Ребят, может мне кто-нибудь объяснить назначение глобальных статических переменных? Литература (в частности Шилдт) говорит о том, что к таким переменным можно обратиться из первого файла через функцию, определенную во втором файле (вместе с глобальными статик переменными). А вот если попытаться получить доступ непосредственно (не через функцию) к этим переменным из первого файла, то получим фейл, т.к. такие переменные известна только для файла, в котором она объявлена.

Пример "расчет среднего значения цепочки введенных чисел" (из книги):

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//---------------------- Первый файл ---------------------------------
#include <iostream>
using namespace std;
 
int r_avg(int);
 
int _tmain(int argc, _TCHAR* argv[]) {
    int num;
    do {
        cin >> num;
        cout << r_avg(num);
        cout << '\n';
 
    }
    while (num != -1);
 
    system("pause");
}
 
 
//---------------------- Второй файл ---------------------------------
static int sum = 0, count = 0; // !!!
 
int r_avg(int i) {
    sum = sum + i;
    count++;
    return sum / count;
}
Честно говоря, не понимаю какой смысл несет объявление переменных статическими во втором файле, ведь доступ к ним спокойно можно получить из первого файла объявив их там extern-ами. Или я что-то не так понял?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru