Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.03.2021, 07:09   #1
rowebuser8
Новичок
Джуниор
 
Регистрация: 04.03.2021
Сообщений: 1
По умолчанию Cpp и h - Что это такое в C++

В этом видео я вам покажу и расскажу что такое .cpp и что такое .h и как их применять и использовать в Visual Studio на языке программирования c++

Когда я первый раз зашел в Visual Studio и создал Пустой проект, меня всегда интересовало что такое cpp и h и как они взаимодействуют эта тема будет полезна для новичков и начинающих писать на c++

НАЖМИ СЮДА И СМОТРИ ВИДЕО
rowebuser8 вне форума Ответить с цитированием
Старый 04.03.2021, 07:46   #2
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 947
По умолчанию

ролик-антипаттерн. Про то, как делать НИКОГДА не надо.

По терминам: файлы реализации *.cpp - это единицы трансляции в C++. Язык видит только их. Заголовки *.h - это, можно сказать, вспомогательные файлы. Инклуд в cpp полностью вставляет текст h-файла в cpp заместо этого самого инклуда.

Теперь про то, что сделано неправильно:
1) конечно же не следует делать инклуды-помойки, которые якобы удобно и круто вставить один раз повсюду. Это в более-менее сложном проекте приведёт к всяческим проблемам с компиляцией или линковкой

2) ни в коем случае нельзя пихать using namespace std в какой бы то ни было заголовок!!! Ещё куда ни шло впихнуть его внутри тела функции, а на крайняк - в cpp после всех инклудов. Но ещё лучше - никогда нигде вообще не писать using namespace std для защиты своей головы и головы тех, кто будет это чудо потом поддерживать

3) глобальные переменные в заголовке: во-первых, нужно давать более адекватные говорящие имена. Во вторых, раз они лежат в глобальном неймспейсе, их надлежит снабдить ключевым словом inline, иначе линковщик будет ругаться на повторные объявления, если такой инклуд включить дважды в один cpp. Также, если не указать inline, то в разных cpp это будут разные экземпляры переменных - это очень весело
Также не нужно забывать про инициализацию переменных. Это удобнее всего сделать вместе с их объявлением

Последний раз редактировалось Алексей1153; 04.03.2021 в 07:52.
Алексей1153 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что такое ИКС для сайта, 950 это много или мало, и сколько это в деньгах? Alar Свободное общение 7 23.09.2018 18:18
<< >> & ^ | с чем это едят и что это такое? pufystyj Общие вопросы C/C++ 4 30.03.2011 13:59
Что это такое и как это того... Alex Cones Общие вопросы Delphi 2 11.10.2009 12:04