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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Отсортировать слова по количеству гласных букв http://www.cyberforum.ru/cpp-beginners/thread1488468.html
Помогите написать программу для Visual C++. Сам не очень разбираюсь, желательно чтобы было понятно. Сама программа "Есть файл, в файле слова, отсортировать по количеству гласных букв в слове" (Буквы Английские) Надо срочно. Завтра утром сдавать! Хоть подскажите принцип, не могу понять!
C++ Поиск в текстовом файле слова и вывод блока текста, в котором оно встретилось Здравствуйте! Подскажите пожалуйста как будет выглядеть код мне нужно реализовать поиск по txt файлу в котором записана информация о фильмах в виде "Название: Contact Год: 1997 Жанр: Drama,Mystery,Sci-Fi Рейтинг: +12 Описание: Dr.Ellie_Arroway,_after_years_of_searching,_finds_conclusive_radio_proof_of_intelligent_aliens,_who_send_plans_for_a_mysterious_machine." и таких несколько блоков... 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 вариантов вывода пробывал ничего=( может еше есть какието варианты.... кстате была такая же запара и с билдером 6 когдато, никак не выводил но потом кто то показал вариант с обьявлением функции впереди char *bufer();и определением тут, же примерно что то такое (давно это было) и только это билдер мог...
C++ Компиляция и сборка многофайлового проекта Допустим, у меня есть такие файлы. SuperClass h - объявление, SuperClass cpp - реализация SubClass h - объявление, SubClass cpp - реализация. Этот класс унаследован от SuperClass. main.cpp Я все раздельно прокомпилировал, получил 3 файла, SuperClass.o SubClass.o main.o, а потом все в единый файл programm.o. В SuperClass я решил убрать некоторые приватные методы/поля, поменял реализацию... подробнее

Показать сообщение отдельно
hoggy
5228 / 2119 / 403
Регистрация: 15.11.2014
Сообщений: 4,806
Завершенные тесты: 1
26.06.2015, 21:55     Определение переменных в заголовочных файлах
Цитата Сообщение от 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>.
он безопасен в многопоточной среде, в отличие от.
 
Текущее время: 10:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru