С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Rolion
14 / 14 / 3
Регистрация: 04.01.2011
Сообщений: 195
#1

Глобальные переменные - C++

06.11.2011, 18:22. Просмотров 1041. Ответов 3
Метки нет (Все метки)

Как в C++ завести глобальную (общую для функции и самой программы) переменную?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2011, 18:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Глобальные переменные (C++):

Глобальные и статические глобальные переменные - C++
Скажите, чем отличаются глобальные переменные от статических глобальных переменных?

Глобальные переменные - C++
Здравствуйте! Возникла видимо классическая проблема, но перечитав кучу сайтов так ее и не решил. Пишу в VS2005, имеются 2 срр файла...

Глобальные переменные - C++
Здравствуйте . Разбираю пример с книги на использование глобальных переменных . Там был такой пример: #include "stdafx.h" #include...

глобальные переменные - C++
Пробовал объявить глобальные переменные следующим образом: в заголовочном файле head.h #ifndef DF_H #define DF_H //объявления...

Глобальные переменные - C++
Я хочу использовать глобальную переменную, определённую в main, в своих классах. Листинг)) globals.h #ifndef GLOBASL_H #define...

глобальные переменные - C++
здравствуйте, я только начал изучать C++, в книге Штидта Г. есть такой код, он выводит: count + число, помогите понять принцип работы этого...

3
Сыроежка
Заблокирован
06.11.2011, 18:27 #2
Цитата Сообщение от Rolion Посмотреть сообщение
Как в C++ завести глобальную (общую для функции и самой программы) переменную?
Достаточно объявить эту переменную в глобальном пространстве имен, то есть вне всякой функции и вне пользовательского пространства имен.

Например,

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include   <iostream>
 
int i = 10;  // глобальная переменная i
 
void f( int i )
{
   std::cout << " i = " << i << std::endl;
   std::cout << "::i = " << ::i << std::endl;
}
 
int main()
{
   int i = 20;   // локальная переменная i
 
   f( i );
}
1
ValeryLaptev
Эксперт С++
1046 / 825 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
06.11.2011, 18:28 #3
Rolion, если функция и main() в одном файле, то просто объяви переменную сразу после include
1
Сыроежка
Заблокирован
06.11.2011, 18:32 #4
Цитата Сообщение от Сыроежка Посмотреть сообщение
Достаточно объявить эту переменную в глобальном пространстве имен, то есть вне всякой функции и вне пользовательского пространства имен.

Например,

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include   <iostream>
 
int i = 10;  // глобальная переменная i
 
void f( int i )
{
   std::cout << " i = " << i << std::endl;
   std::cout << "::i = " << ::i << std::endl;
}
 
int main()
{
   int i = 20;   // локальная переменная i
 
   f( i );
}
Вы также переменную можете объявить в неименованном пространстве имен. Тогда эта переменная будет иметь внутреннее связывание аналогично объявлению переменной с помощью спецификатора static, и не будет видима в других единицах компиляции, а только в текущей единице компиляции.
1
06.11.2011, 18:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.11.2011, 18:32
Привет! Вот еще темы с ответами:

Глобальные переменные - C++
Доброго времени суток всем. У меня следующая проблема: объявляю глобально переменную типа структуры dealer* root;. Далее в коде...

Глобальные переменные - C++
Подскажите пожалуйста, почему данные в глобальной переменной перезаписываются, а не плюсуются? Пример: int peremennaya; void...

Глобальные переменные - C++
Я правильно понимаю: &quot;в c++ использовать глобальные переменные не безопасно, т. к. др. программы могут случайно поменять значение этих...

Используете ли вы глобальные переменные - C++
Добрый вечер, используете ли вы у себя в коде глобальные переменные между единицами трансляции и/или в конкретной? Моё мнение:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.