факультете компьютерных наук ВШЭ.
Языку C++ почти 40 лет, но он по-прежнему очень актуален и востребован. Он оказал огромное влияние на индустрию и на другие языки. C++ был разработан Бьярне Страуструпом в начале 1980-х годов как расширение языка C (и даже изначально назывался «Си с классами»).
Однако для изучения C++ совсем не обязательно знать C. Тем не менее мы предполагаем, что вы знакомы с основами информатики и владеете каким-либо языком программирования на уровне школьной программы — например, языком Python.
Впрочем, C++ во многом полностью противоположен Python:
Чтобы исходный код программы на C++ превратился в исполняемый файл для конкретной архитектуры процессора, программу нужно скомпилировать. Существует несколько популярных компиляторов C++:
Мы будем использовать в примерах и при проверке задач компилятор Clang 16-й версии.
При проверке задач мы используем следующие ключи компилятора:
clang++ --std=c++20 -O3 -fsanitize=address,undefined -Wall -Wextra -Werror
С 1998 года международный комитет по стандартизации C++ выпускает стандарты — версии языка, в которых описываются его возможности. В первую очередь это руководства для создателей компиляторов, но при возникновении спорных моментов всегда полезно обратиться к стандарту. Мы будем ориентироваться на стандарт C++20, а по ссылке можно ознакомиться с черновиком будущего стандарта. Важно понимать, что стандарт определяет лишь общие требования и не фиксирует детали реализации, которые в разных компиляторах могут отличаться.
Чтобы проверить, поддерживает ли ваша версия компилятора ту или иную особенность C++, советуем пользоваться специальной таблицей.
При изучении вам будут полезны следующие англоязычные ресурсы:
В тексте мы будем часто ссылаться на англоязычную версию cppreference.com и на английскую «Википедию».
Написать программу для C++ можно в любом текстовом редакторе, но удобнее пользоваться средой разработки (IDE). IDE включают редактор кода с подсветкой синтаксиса, а также позволяют компилировать, запускать и отлаживать программы.
Примеры IDE:
Мы рассчитываем, что вы сможете самостоятельно разобраться с настройкой и использованием среды разработки, и не будем заострять на этом внимание. В наших примерах мы будем запускать компилятор из консоли.
К нашему учебнику прилагается набор задач по соответствующим темам. Вы можете сдавать их в автоматическую проверяющую систему. В одних задачах требуется написать полноценную программу, а в других — сдать только код функции или класса. Обратите внимание, что ко всем задачам имеются разборы с авторскими решениями. Найти разборы вы можете в конце глав.
А сейчас давайте напишем первую программу на C++.
Если вам интересно не просто освоить азы С++, а начать карьеру в разработке — попробуйте курс Яндекс Практикума.
Кроме теории и практики там будут:
Для будущих разработчиков С++ мы оставляем здесь промокод HANDBOOK на скидку 10%. Приходите учиться!