На курсе программы на C++ разрабатываются в Microsoft Visual Studio. В компьютерных классах среда уже установлена. Для работы дома подойдет бесплатная версия Visual Studio Community.

Важно. Visual Studio работает с решениями и проектами. Решение может содержать несколько проектов, а проект определяет, какие файлы компилируются вместе и с какими настройками. В обычной лабораторной работе достаточно одного решения с одним проектом (не считая проекта тестов).
1. Скачивание и установка
  1. Откройте страницу Visual Studio Community и скачайте установщик.
  2. Запустите установщик Visual Studio Installer и на вкладке рабочих нагрузок выберите «Разработка классических приложений на C++» (Desktop development with C++).
  3. Оставьте включенными предлагаемые по умолчанию актуальные средства сборки MSVC и Windows SDK, затем нажмите «Установить» или «Изменить».
Выбор рабочей нагрузки Разработка классических приложений на C++ в Visual Studio Installer
Выберите рабочую нагрузку для разработки классических приложений на C++.

Если Visual Studio уже установлена без поддержки C++, откройте Средства → Получить средства и компоненты..., отметьте ту же рабочую нагрузку и примените изменения.

2. Создание проекта

Общие действия

  1. Запустите Visual Studio и выберите «Создание проекта». Если среда уже открыта: Файл → Создать → Проект.
  2. В поле поиска введите Пустой проект, установите фильтр языка C++ и выберите шаблон «Пустой проект» (Empty Project).
  3. Укажите имя проекта и каталог. Для учебных проектов удобно использовать короткий путь, например C:\Users\user\Desktop\Lab01. Желательно избегать облачных каталогов, слишком длинных путей и специальных символов в именах.
  4. Нажмите «Создать». Новый проект появится в окне «Обозреватель решений».
Создание пустого проекта C++ в Visual Studio
Создание пустого проекта: фильтр C++, выбор шаблона, имени и расположения.

Стандарт языка C++

Щелкните проект правой кнопкой мыши и выберите «Свойства». В верхней части окна установите «Все конфигурации» и «Все платформы», затем откройте Свойства конфигурации → C/C++ → Язык → Стандарт языка C++. Для примеров курса, использующих возможности C++23, выберите последнюю доступную версию стандарта — /std:c++latest. Нажмите «Применить».

Раздел C/C++ может появиться в свойствах только после добавления в проект хотя бы одного файла .cpp. Если раздела пока нет, сначала создайте Source.cpp, а затем вернитесь к настройке стандарта.
Выбор стандарта языка C++ в свойствах проекта Visual Studio
Настройку стандарта применяют ко всем конфигурациям и платформам проекта.

Вариант A. Однофайловый проект

  1. В Обозревателе решений щелкните правой кнопкой мыши папку-фильтр «Исходные файлы».
  2. Выберите Добавить → Создать элемент..., затем «Файл C++ (.cpp)» и задайте имя Source.cpp.
  3. Введите программу и запустите ее сочетанием Ctrl + F5.
#include <iostream>

int main()
{
    std::cout << "Hello, C++!\n";
    return 0;
}
Однофайловый проект C++ с файлом Source.cpp
В однофайловом проекте вся программа находится в Source.cpp.

Вариант B. Проект с многофайловой компоновкой

Добавьте в проект три файла:

Файл Назначение
Source.cpp Точка входа main и использование функций.
Func.h Объявления функций, общие типы и константы.
Func.cpp Определения функций, объявленных в Func.h.
Показать содержимое трех файлов

Func.h

#pragma once

int sum(int a, int b);

Func.cpp

#include "Func.h"

int sum(int a, int b)
{
    return a + b;
}

Source.cpp

#include <iostream>
#include "Func.h"

int main()
{
    std::cout << sum(2, 3) << '\n';
    return 0;
}
Как это собирается. Файлы Source.cpp и Func.cpp компилируются отдельно, после чего компоновщик объединяет их в одну программу. Заголовочный файл Func.h отдельно не компилируется: его содержимое подключается директивой #include. Функция main должна быть определена только один раз.
Многофайловый проект C++ с файлами Source.cpp Func.h и Func.cpp
Структура многофайлового проекта в Обозревателе решений.
3. Добавление и исключение файлов

Добавление нового файла

Щелкните правой кнопкой мыши проект или нужную папку-фильтр в Обозревателе решений и выберите Добавить → Создать элемент.... Быстрый способ: выделите проект и нажмите Ctrl + Shift + A.

  • Файл C++ (.cpp) добавляйте в «Файлы исходного кода».
  • Заголовочный файл (.h) добавляйте в «Заголовочные файлы».

Добавление существующего файла

Выберите Добавить → Существующий элемент... и укажите файл. Если файл находится за пределами каталога проекта, сначала скопируйте его в каталог проекта: так проект будет проще переносить на другой компьютер и архивировать.

Добавление нового и существующего файла в проект C++
Добавление нового и уже существующего файла в проект.

Временное исключение файла

В одном проекте удобно хранить решения нескольких небольших задач, но одновременно компилировать несколько файлов с функцией main нельзя. Оставьте в проекте только файл текущей задачи, а остальные временно исключите:

  1. Щелкните файл правой кнопкой мыши.
  2. Выберите «Исключить из проекта».

Файл исчезнет из обычного представления проекта, но останется на диске. Чтобы вернуть его, включите кнопку «Показать все файлы» в Обозревателе решений, щелкните появившийся файл правой кнопкой и выберите «Включить в проект». Альтернативный вариант — снова добавить его как существующий элемент.

Исключение файла из проекта C++ и повторное включение
Исключение файла не удаляет его с диска; файл можно включить обратно.
4. Горячие клавиши

Комбинации ниже соответствуют стандартной раскладке клавиатуры Visual Studio. Если сочетание было переназначено в настройках среды, оно может отличаться.

Сочетание Действие
Ctrl + F5 Собрать и запустить без отладки.
F5 Запустить с отладкой.
Ctrl + Shift + B Собрать решение.
Ctrl + S Сохранить текущий файл.
Ctrl + Shift + S Сохранить все измененные файлы.
Ctrl + Space Показать список автодополнения.
Ctrl + Shift + Space Показать сведения о параметрах функции.
Ctrl + K, затем Ctrl + D Отформатировать весь документ.
Ctrl + K, затем Ctrl + C Закомментировать выделенные строки.
Ctrl + K, затем Ctrl + U Раскомментировать выделенные строки.
Ctrl + L Вырезать текущую строку.
F12 Перейти к определению.
Shift + F12 Найти все ссылки на выбранный объект.
F9 Установить или снять точку останова.
F10 / F11 Шаг с обходом / шаг с заходом при отладке.
5. Предупреждения Visual Studio

Предупреждение не всегда останавливает сборку, но часто указывает на ошибку, непереносимый код или потенциально опасную операцию. Не отключайте все предупреждения целиком: откройте Вид → Список ошибок, прочитайте сообщение и разберитесь с причиной.

Предупреждение C4996 для функций стандартной библиотеки C

Компилятор Microsoft помечает некоторые функции, например strcpy, scanf и fopen, как небезопасные и предлагает варианты с суффиксом _s. Эти варианты являются расширениями Microsoft и ухудшают переносимость программы.

Выберите подходящий способ:

  1. Если условие задачи позволяет, используйте более удобные стандартные средства C++: например, std::string вместо изменяемого символьного буфера.
  2. Если по заданию требуется именно стандартная функция C, добавьте макрос _CRT_SECURE_NO_WARNINGS до подключения заголовочных файлов:
#ifdef _MSC_VER
#define _CRT_SECURE_NO_WARNINGS
#endif

#include <cstring>

Для всего проекта макрос можно добавить в Свойства проекта → Свойства конфигурации → C/C++ → Препроцессор → Определения препроцессора. Перед изменением выберите «Все конфигурации» и добавьте _CRT_SECURE_NO_WARNINGS, не удаляя уже существующие определения.

Макрос скрывает предупреждение, но не делает операцию безопасной. Программист по-прежнему обязан проверять размеры буферов, корректность указателей и результат открытия файла.

Справка Microsoft: установка поддержки C++, проекты Visual C++ и сочетания клавиш Visual Studio.