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

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

Войти
Регистрация
Восстановить пароль
 
Gygocopter
10 / 10 / 5
Регистрация: 05.02.2014
Сообщений: 124
#1

Static переменные - C++

23.05.2014, 01:40. Просмотров 198. Ответов 5
Метки нет (Все метки)

Написал небольшую программу, подключил к проекту name.h файл. В нем описание переменных static int a, b;
Почему их значения можно выводить в main? Они же static. (VS2013)
В книге Шилдnа написано, что стандарт против использования static переменных, рекомендуется метод, заключенный в использовании пространства имен. Так ли это?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2014, 01:40     Static переменные
Посмотрите здесь:

Private: static C++
глобальные static-переменные и разбиение на файлы C++
Опять static C++
C++ Компилятор ругается на static переменные
C++ Глобальные static переменные
C++ static const
C++ static и const
C++ static class
C++ static const?
Static C++
Static class c++ C++
C++ Как работают static-переменные объявленные в в базовом классе?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5410 / 4806 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.05.2014, 01:55     Static переменные #2
Цитата Сообщение от Gygocopter Посмотреть сообщение
подключил к проекту name.h файл.
В каком файле подключили? С main()?

Добавлено через 21 секунду
Цитата Сообщение от Gygocopter Посмотреть сообщение
Так ли это?
Так.
Gygocopter
10 / 10 / 5
Регистрация: 05.02.2014
Сообщений: 124
23.05.2014, 01:58  [ТС]     Static переменные #3
alsav22, #include "name.h", где мейн
alsav22
5410 / 4806 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.05.2014, 02:10     Static переменные #4
Цитата Сообщение от Gygocopter Посмотреть сообщение
#include "name.h", где мейн
И в чём тогда вопрос? Всё в одном файле, поэтому и:
Цитата Сообщение от Gygocopter Посмотреть сообщение
... их значения можно выводить в main...
Добавлено через 2 минуты
Содержимое .h файлов, перед компиляцией, добавляется в то место, где сделан #include.
Gygocopter
10 / 10 / 5
Регистрация: 05.02.2014
Сообщений: 124
23.05.2014, 02:27  [ТС]     Static переменные #5
alsav22, а .cpp файл без файла .h не подключить к проекту?(ну чтобы был виден для мейна)
alsav22
5410 / 4806 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.05.2014, 02:38     Static переменные #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
cpp просто нужно добавить в проект, чтобы компилятор знал, что компилировать. Но, если, в файле с main(), будут использоваться, например, функции из другого .cpp, то нужно, чтобы в файле с main() были видны прототипы этих функций (компилятор, в единицу времени, видит только один файл). Поэтому прототипы можно прописать или прямо в файле с main(), или прописать их в .h файле, который подключить в файле с main().

Добавлено через 2 минуты
Если же речь о переменных, определённых в другом файле .cpp, то в файле main() их нужно объявить с помощью extern (объявление без выделения памяти).
Yandex
Объявления
23.05.2014, 02:38     Static переменные
Ответ Создать тему
Опции темы

Текущее время: 17:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru