Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
hoggy
Заблокирован
Эксперт С++
26.06.2015, 21:55

Определение переменных в заголовочных файлах

26.06.2015, 21:55. Просмотров 355. Ответов 2
Метки (Все метки)

Ответ

Цитата Сообщение от ninja2 Посмотреть сообщение
А че множественное если #pragma once всего раз файл подключает?
один раз для каждого спп файла, который к себе этот инклюд подключает.

у вас есть несколько вариантов объявить глобальную переменную.
1. в хэдере extern bool bThreadstop, а в каком то из спп файлов - инициализация.
очень плохой способ.

2. объявить статическую переменную:
C++
1
static bool bThreadstop(false);
каждая ед. трансляции получит по собственной копии переменной.

3. объявить статическое поле класса, и определить в спп файле.
это почти тоже самое, что и первый вариант.

4. объявить локальную статическую переменную:
C++
1
bool& getBool() { static bool bThreadstop(false); return bThreadstop; }
этот способ безопасен, гибок, удобен.
в общем, именно так организуют глобальные точки доступа нормальные люди.

-----------------------

ну и напоследок: поскольку у вас переменная по смыслу - флажок для треда,
используйте std::atomic<bool>.
он безопасен в многопоточной среде, в отличие от.

Вернуться к обсуждению:
Определение переменных в заголовочных файлах
1
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2015, 21:55
Готовые ответы и решения:

Про добавление заголовочных файлов в заголовочных файлах
В который раз эта вещь засовывает мозги в блендер! Я про то, что не могу однозначно запомнить...

О стандартных заголовочных файлах
Не знаю в какую категорию отнести данное нубство, но все же: Часто использую некоторые...

Массивы в заголовочных файлах
в заголовочном файле в описании класса пишу: int _const_iMas = {0x63,0x7c,0x78,0x79}; В...

Линковка, реализация в заголовочных файлах
Ситуация следующая. Представим себет хедер, который содержит некоторый функционал и должен...

Статические свойства структур в заголовочных файлах
Всем привет. Не могу найти в интернете инфу о том, как ведут себя статические свойства структур...

2
Другие темы раздела
C++ Отсортировать слова по количеству гласных букв http://www.cyberforum.ru/cpp-beginners/thread1488468.html
Помогите написать программу для Visual C++. Сам не очень разбираюсь, желательно чтобы было понятно. Сама программа "Есть файл, в файле слова, отсортировать по количеству гласных букв в слове" (Буквы...
C++ Поиск в текстовом файле слова и вывод блока текста, в котором оно встретилось Здравствуйте! Подскажите пожалуйста как будет выглядеть код мне нужно реализовать поиск по txt файлу в котором записана информация о фильмах в виде "Название: Contact Год: 1997 Жанр:... http://www.cyberforum.ru/cpp-beginners/thread1488447.html
Перемножить элементы массива, меньшие числа M C++
Помогите с прогой, пожалуйста. Дан массив из N натуральных чисел и натурального числа M. Нужно перемножить все элементы массива, которые больше числа M, если таких чисел нет, то вывести сообщение об...
C++ Разместить музыку в Марио
Доброго времени суток! Помогите разместить музыку в Марио. Файлы из sfml-2.0 скопировал в папку с main. Загрурил звуки из интернета и разместил вместе с Mario_tileset.png, прописал все процедуры,...
C++ Как вывести текст на русском языке (CodeBlocks)? http://www.cyberforum.ru/cpp-beginners/thread1488404.html
windows ХР,CodeBlocks 13.12.... погуглил, походил по похожим темам на форуме больше 10 вариантов вывода пробывал ничего=( может еше есть какието варианты.... кстате была такая же запара и с...
C++ Компиляция и сборка многофайлового проекта Допустим, у меня есть такие файлы. SuperClass h - объявление, SuperClass cpp - реализация SubClass h - объявление, SubClass cpp - реализация. Этот класс унаследован от SuperClass. main.cpp ... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru