Общие сведения о разработке на c++ в visual studiooverview of c++ development in visual studio

Краткие сведения и сведения о параметрахQuick Info and Parameter Info

Наведите указатель на любую переменную, функцию или другой символ, чтобы просмотреть сведения, включая объявление и комментарии.Hover over any variable, function, or other symbol to get information about it, including the declaration, and any comments that are located just preceding it.

Подсказки с краткими сведениями включают ссылку для поиска в Интернете.The Quick Info tooltip has a Search Online link. Выберите Средства > Параметры > Текстовый редактор > C++ > Представление, чтобы указать поставщик поиска.Go to Tools > Options > Text Editor > C++ > View to specify the search provider.

Если в коде есть ошибка, можно навести указатель мыши на нее, чтобы в окне с краткими сведениями просмотреть сообщение об ошибке.If there is an error in your code, you can hover over it and Quick Info will display the error message. Сообщение об ошибке также можно просмотреть в окне со списком ошибок.You can also find the error message in the Error List window.

Если в коде есть ошибка, можно навести указатель мыши на нее, чтобы в окне с краткими сведениями просмотреть сообщение об ошибке.If there is an error in your code, you can hover over it and Quick Info will display the error message. Сообщение об ошибке также можно просмотреть в окне со списком ошибок.You can also find the error message in the Error List window.

При вызове функции в окне со сведениями о параметрах отображаются типы параметров и порядок их ввода.When you call a function, Parameter Info shows the types of parameters and the order in which they are expected.

Переустановка Microsoft Visual C++

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

Дефект устраняется при помощи обновления и переустановки программного комплекса. Предпочтительнее полностью переустановить Visual C++. Перед этим следует удалить все установленные пакеты. Для этого зайти в «Программы и компоненты» и далее по списку:

  • Найти Microsoft Visual C++.
  • Удалить.
  • Скачать Microsoft Visual C++, исходя из разрядности вашей операционной системы (х86 для 32-разрядной, х64 для 64-разрядной);
  • Установить;
  • Перезагрузить компьютер;
  • Запустить проблемное приложение;

Семантика перемещенияMove semantics

Современный C++ предоставляет семантику перемещения, что позволяет устранять ненужное копирование памяти.Modern C++ provides move semantics, which make it possible to eliminate unnecessary memory copies. В предыдущих версиях языка в определенных ситуациях копирования нельзя было избежать.In earlier versions of the language, copies were unavoidable in certain situations. Операция перемещения передает владение ресурсом от одного объекта к другому без создания копии.A move operation transfers ownership of a resource from one object to the next without making a copy. Некоторые классы владеют такими ресурсами, как память кучи, дескрипторы файлов и т. д.Some classes own resources such as heap memory, file handles, and so on. При реализации класса, владеющего ресурсами, можно определить для него конструктор перемещения и оператор присваивания перемещения.When you implement a resource-owning class, you can define a move constructor and move assignment operator for it. Компилятор выбирает эти специальные члены класса при разрешении перегрузки в ситуациях, когда копирование не требуется.The compiler chooses these special members during overload resolution in situations where a copy isn’t needed. Типы контейнеров стандартной библиотеки вызывают для объектов конструктор перемещения, если он определен.The Standard Library container types invoke the move constructor on objects if one is defined. Дополнительные сведения см. в разделе Конструкторы перемещения и операторы присваивания перемещения (C++).For more information, see Move Constructors and Move Assignment Operators (C++).

ОбзорOverview

На этой странице перечислены минимальные требования к системе для семейства продуктов Visual Studio 2019.This page contains the minimum system requirements for the Visual Studio 2019 family of products. Сведения о совместимости см. в разделе Целевая платформа и совместимость Visual Studio 2019.For information on compatibility, see Visual Studio 2019 Platform Targeting and Compatibility. См. дополнительные сведения по повышению производительности Visual Studio.If you need help with improving performance, see Visual Studio performance tips and tricks.

Новые возможностиWhat’s New

Новые возможности Visual Studio 2019See what’s new in Visual Studio 2019!

Интегрированная среда разработки Visual Studio, Заметки о выпуске Visual Studio 2019 или Новые возможности Visual Studio 2019.For Visual Studio IDE, the Visual Studio 2019 release notes, or What’s New in Visual Studio 2019.

СкачатьDownload

Нажмите кнопку, чтобы скачать последнюю версию Visual Studio 2019.Click a button to download the latest version of Visual Studio 2019. Инструкции по установке и обновлению Visual Studio 2019 см. в документации по обновлению до последнего выпуска Visual Studio 2019.For instructions on installing and updating Visual Studio 2019, see the Update Visual Studio 2019 to the most recent release. Кроме того, см. инструкции по установке в автономном режиме.Also, see instructions on how to install offline.

Совет

Требования к системе для предыдущих версий Visual Studio см. в разделах по Visual Studio 2017, Visual Studio 2015, Visual Studio 2013 или .For older versions of Visual Studio, see the system requirements for Visual Studio 2017, Visual Studio 2015, Visual Studio 2013, or .

Как обстоят дела?How are we doing?

Мы будем рады узнать ваше мнение!We would love to hear from you! Вы можете сообщить о проблемах, щелкнув пункт Сообщить о проблеме в правом верхнем углу установщика или самой IDE-среды Visual Studio.For issues, let us know through the Report a Problem option in the upper right-hand corner of either the installer or the Visual Studio IDE itself. КлассуThe находится в правом верхнем углу.icon is located in the upper right-hand corner. Вы можете отслеживать проблемы в сообществе разработчиков Visual Studio, где можно задать интересующие вопросы, найти нужные ответы и отправить предложения по продуктам.You can track your issues in the Visual Studio Developer Community, where you can ask questions, find answers and submit product suggestions. Вам доступна бесплатная по вопросам с установкой.You can get free installation help through our .

Что такое Microsoft Visual C++ Redistributable Package?

Microsoft Visual C++ Redistributable Package – это распространяемые пакеты, которые устанавливают компоненты среды выполнения библиотек Visual C++. Данные компоненты необходимы для выполнения приложений, разработанных с помощью среды программирования Visual Studio. В состав этих компонентов входят: среда выполнения C (CRT), стандартный C++, MFC, C++ AMP и OpenMP. То есть, другими словами, программы, которые разработаны в Visual Studio с использованием этих библиотек не будут работать, если не установлена сама среда Visual Studio или эти распространяемые пакеты, т.е. Microsoft Visual C++ Redistributable Package. Эти пакеты созданы специально для того, чтобы обычным пользователям не нужно было устанавливать полноценную среду разработки Visual Studio. Многие разработчики в состав своего дистрибутива программы, которая требует эти библиотеки, включают установку необходимой версии Microsoft Visual C++ Redistributable Package (если она отсутствует). Многие просто в системных требованиях указывают обязательное наличие определенной версии этих распространяемых пакетов, и в этом случае Microsoft Visual C++ Redistributable Package нам необходимо скачивать и устанавливать самим. Это делается, на самом деле, достаточно просто я чуть ниже все покажу.

Но прежде чем переходить к загрузке и установке Microsoft Visual C++ Redistributable Package давайте я расскажу, какие ошибки будут возникать, если попытаться запустить программу, которая требует наличие распространяемых пакетов Microsoft в операционной системе без установленной необходимой версии этих самых пакетов.

Пишем первую программу на C++

По традиции программистов первая программа, написанная на изучаемом языке, должна выводить на экран надпись «Hello, World!».

Перевод: Ваши первые подкаст/видео/статья/рисунок/фото/игра будут ужасными. Но первый код будет идеален — он будет очень чистым, и в нём не будет багов. Это будет «Hello, World!».

В C++ такой код будет выглядеть так:

Попробуем его запустить, а потом разберём, как он работает.

Запускаем код в интернете

Самый простой вариант — зайти на сайт repl.it. На главной странице нажмите Start Coding, выберите C++ и нажмите Create Repl.

У вас откроется следующая страница:

Слева — менеджер файлов, в центре — текстовый редактор, где уже введён нужный нам код, а справа — консоль, в которой выводится результат. Чтобы запустить программу, нажмите Run.

Запускаем код на компьютере

Если же вы хотите компилировать код на своём компьютере, то установите компилятор. Я пользуюсь G++, его и вам рекомендую.

  • Установщик для Windows.
  • Название пакета для Linux: gcc.

После установки компилятора создайте отдельную папку для кода, а в ней — файл hello.cpp (это расширение для файлов с командами на C++). Желательно, чтобы путь к папке состоял из латинских символов и был написан без пробелов.

Откройте hello.cpp с помощью любого блокнота или редактора кода (например, Sublime text или VS Code) и вставьте в него код, указанный выше. Теперь откройте терминал с помощью инструкции ниже.

Windows Linux
1. Нажмите Win + R, введите cmd и нажмите Enter.
2. Введите команду cd . Например, cd projects\cpp1, если ваша папка находится по адресу c:\projects\cpp1. 2. Введите команду cd . Например: cd ~/projects/cpp1
3. Если папка находится не на системном диске, то команду нужно изменить: cd /D . Например: cd /D d:\projects\cpp1

Затем введите следующую команду:

Эта команда скажет компьютеру, что нужно скомпилировать код из файла hello.cpp и сохранить результат в файл hello (или hello.exe в Windows).

После этого запустите скомпилированную программу, и вы увидите, что всё работает:

Установка Visual Studio 2015Visual Studio 2015 Installation

Чтобы установить Visual Studio 2015, перейдите на страницу для скачивания более ранних версий Microsoft Visual Studio.To install Visual Studio 2015, go to the Microsoft Visual Studio Older downloads page. Разверните раздел 2015 и нажмите кнопку Загрузка.Expand the 2015 section, and choose the Download button. Запустите скачанную программу установки и щелкните Выборочная установка, а затем выберите компонент C++.Run the downloaded setup program and choose Custom installation and then choose the C++ component. Чтобы добавить поддержку C и C++ в существующую установку Visual Studio 2015, нажмите кнопку «Пуск» Windows и введите Установка и удаление программ.To add C and C++ support to an existing Visual Studio 2015 installation, click on the Windows Start button and type Add Remove Programs. Откройте программу из списка результатов и найдите установку Visual Studio 2015 в списке установленных программ.Open the program from the results list and then find your Visual Studio 2015 installation in the list of installed programs. Дважды щелкните ее, а затем выберите Изменить и выберите компоненты Visual C++ для установки.Double-click it, then choose Modify and select the Visual C++ components to install.

Создание приложений на C++Write applications in C++

Универсальные приложения Windows (C++)Universal Windows Apps (C++)Руководства и справочные материалы в Центре разработчика Windows.Find guides and reference content on the Windows Developer Center. Сведения о разработке приложений UWP см. в разделах Введение в универсальную платформу Windows и Создание первого приложения UWP на C++.For information about developing UWP apps, see Intro to the Universal Windows Platform and Create your first UWP app using C++.

Классические приложения (C++)Desktop applications (C++)Сведения о создании классических приложений с машинным кодом на C++ для Windows.Learn how to create traditional native C++ desktop applications for Windows.

Программирование .NET с использованием C++/CLI.NET programming with C++/CLIСведения о создании библиотек DLL, обеспечивающих взаимодействие между машинным кодом на C++ и программами .NET, написанными на таких языках, как C# или Visual Basic.Learn how to create DLLs that enable interoperability between native C++ and .NET programs written in languages such as C# or Visual Basic.

Программирование для LinuxLinux programmingИнтегрированная среда разработки Visual Studio позволяет написать код и развернуть его на удаленном компьютере с ОС Linux для компиляции с помощью GCC.Use the Visual Studio IDE to code and deploy to a remote Linux machine for compilation with GCC.

Создание библиотек DLL на C и C++ в Visual StudioCreate C/C++ DLLs in Visual StudioИспользование Win32, ATL и MFC для создания классических библиотек DLL для Windows, а также сведения о компиляции и регистрации библиотеки DLL.Find out how to use Win32, ATL, and MFC to create Windows desktop DLLs, and provides information about how to compile and register your DLL.

Параллельное программированиеParallel programmingИспользование библиотеки параллельных шаблонов, C++ AMP, OpenMP и других компонентов, связанных с многопоточностью в Windows.Learn how to use the Parallel Patterns Library, C++ AMP, OpenMP, and other features that are related to multithreading on Windows.

Рекомендации по безопасностиSecurity best practicesЗащита приложений от вредоносного кода и несанкционированного использования.Learn how to protect applications from malicious code and unauthorized use.

Облачное и веб-программированиеCloud and web programmingВ C++ имеются несколько параметров для соединения с веб-узлом и облаком.In C++, you have several options for connecting to the web and the cloud.

Доступ к даннымData accessПодключение к базам данных через ODBC и OLE DB.Connect to databases using ODBC and OLE DB.

Текст и строкиText and stringsПодробнее о работе с другими форматами текста и строк и кодировках для локальных и международных разработок.Learn about working with different text and string formats and encodings for local and international development.

Средства разработки C++C++ development tools

Общие сведения о разработке на C++ в Visual StudioOverview of C++ development in Visual StudioИспользование интегрированной среды разработки Visual Studio для создания проектов, редактирования кода, создания ссылок на библиотеки, компиляции, отладки, создания модульных тестов, выполнения статического анализа, развертывания и многого другого.How to use the Visual Studio IDE to create projects, edit code, link to libraries, compile, debug, create unit tests, do static analysis, deploy, and more.

Проекты и системы сборкиProjects and build systemsКак создать и настроить проекты Visual Studio C++, проекты CMake и другие типы проектов с помощью компилятора MSVC и параметров компоновщика.How to create and configure Visual Studio C++ projects, CMake projects, and other kinds of projects with MSVC compiler and linker options.

Написание и рефакторинг кода C++Writing and refactoring C++ codeКак использовать функции производительности в редакторе C++ для рефакторинга, понимания и написания кода и перемещения по нему.How to use the productivity features in the C++ editor to refactor, navigate, understand and write code.

Отладка машинного кодаDebugging native codeСведения об использовании отладчика Visual Studio с проектами C++.Use the Visual Studio debugger with C++ projects.

Общие сведения об анализе кода в C/C++Code analysis for C/C++ overviewИспользуйте заметки SAL или средства проверки C++ Core Guidelines для выполнения статического анализа.Use SAL annotations or the C++ Core Guidelines checkers to perform static analysis.

Написание модульных тестов для C/C++ в Visual StudioWrite unit tests for C/C++ in Visual StudioСоздание модульных тестов с помощью платформы модульного тестирования Майкрософт для C++, Google Test, Boost.Test или CTest.Create unit tests using the Microsoft Unit Testing Framework for C++, Google Test, Boost.Test, or CTest.

Внешние признаки визуала

Визуал почти всегда оперирует к внешнему, зрительному образу, стараясь преобразовать свою устную речь в картинку. У представителей этого психотипа отличная зрительная память, помимо нее, характерными внешними признаками визуалиста являются:

  1. Богатая внешними образами и многочисленными сравнениями речь, в которой ярко и подробно описывается внешний вид и одежда собеседника, окружающая обстановка, погода за окном и т.д., но нередко упускаются из вида другие важные моменты, к примеру, сама суть произошедшей беседы, результат деловой встречи и др.;
  2. При разговоре визуал постарается расположиться напротив собеседника, чтобы иметь возможность постоянно наблюдать за ним, смотреть ему в глаза, а заодно — рассмотреть интерьеры и обстановку вокруг;
  3. Предпочитает эффектную и яркую, но часто не слишком удобную одежду. Однако визуалы тщательно выверяют каждый свой образ, стараясь гармонично вписаться в окружающую их действительность, одновременно подчеркивая собственные достоинства и маскируя недостатки фигуры;
  4. Речь визуала наполнена такими словами и фразами как «вы бы видели», «посмотрите», «можно считать это очевидным». Такие обороты речи помогают им лучше воспроизвести и описать возникшую в их голове картинку;
  5. Подобные индивидуумы не любят телефонных переговоров, поскольку быстро теряют нить беседы без наличия в поле зрения образа собеседника. При общении в Сети визуал всегда предпочтет веб-камеру обычным текстовым сообщениям;
  6. Они отлично запоминают внешность, одежду и лица людей, но часто не могут вспомнить их имен или других важных сведений о конкретном человеке;
  7. Не любят подходить слишком близко к окружающим их людям, предпочитая общаться на расстоянии от метра и больше. Таким образом, визуал не только не вторгается в чужое личное пространство, но и получает более выгодный угол обзора собеседника;
  8. Взгляд визуала не способен подолгу задерживаться на определенном человеке или объекте, он находится в постоянном поиске новой зрительной информации;
  9. Услышав или прочитав текст с описанием красот природы либо какой-нибудь интересной или необычной ситуации, визуалист очень ярко и правдоподобно представит все это зрительно, даже не желая того;
  10. При оборудовании собственного рабочего места отдает предпочтение не комфорту и функциональности, а красоте и внешней эстетике. Не откажется устроиться у окна, но только при наличии красивого вида.

Лямбда-выраженияLambda expressions

В программировании в стиле C функцию можно передать в другую функцию с помощью указателя функции.In C-style programming, a function can be passed to another function by using a function pointer. Указатели функций неудобно поддерживать и сложно понимать.Function pointers are inconvenient to maintain and understand. Функция, на которую они ссылаются, может быть определена в любом месте исходного кода, далеко от точки ее вызова.The function they refer to may be defined elsewhere in the source code, far away from the point at which it’s invoked. Кроме того, они не являются типобезопасными.Also, they’re not type-safe. Современный C++ предоставляет объекты-функции — классы, переопределяющие оператор , который позволяет вызывать их как функцию.Modern C++ provides function objects, classes that override the operator, which enables them to be called like a function. Наиболее удобный способ создания объектов-функций — встроенные лямбда-выражения.The most convenient way to create function objects is with inline lambda expressions. В следующем примере показано, как использовать лямбда-выражение для передачи объекта-функции, которую функция будет вызывать для каждого элемента в векторе.The following example shows how to use a lambda expression to pass a function object, that the function will invoke on each element in the vector:

Лямбда-выражение можно прочитать как «функция, которая принимает один аргумент типа и возвращает логическое значение, указывающее, является ли аргумент больше и меньше «.The lambda expression can be read as «function that takes a single argument of type and returns a boolean that indicates whether the argument is greater than and less than .» Обратите внимание, что переменные и из окружающего контекста можно использовать в лямбда-выражении.Notice that the variables and from the surrounding context can be used in the lambda. указывает, что эти переменные записываются по значению, то есть лямбда-выражение имеет собственные копии этих значений.The specifies that those variables are captured by value; in other words, the lambda expression has its own copies of those values

Следующие шагиNext steps

Узнайте больше о Visual Studio, прочитав одну из следующих вводных статей:Explore Visual Studio further by following along with one of these introductory articles:

  • Познакомьтесь с редактором кода в статье Сведения об использовании редактора кодаGet acquainted with the code editor in Learn to use the code editor

  • Узнайте, как Visual Studio упорядочивает код, в статье Сведения о проектах и решенияхLearn how Visual Studio organizes code in Learn about projects and solutions

Если вы готовы к углубиться в вопросы написания кода, ознакомьтесь со следующими статьями о конкретных языках:If you’re ready to dive into more coding, one of the following language-specific quickstarts is a good next step:

Новые возможности и журнал соответствийWhat’s New and Conformance History

Новые возможности C++ в Visual StudioWhat’s New for C++ in Visual StudioНовые возможности в Visual Studio.Find out what’s new in Visual Studio.

Новые возможности C++ в версиях Visual Studio с 2003 по 2015What’s New for C++ in Visual Studio 2003 through 2015Новые возможности C++ для каждой версии Visual Studio с 2003 до 2015.Find out what was new in C++ for each version of Visual Studio from 2003 through 2015.

Улучшения соответствия C++ в Visual StudioC++ conformance improvements in Visual StudioСведения об улучшениях соответствия C++ в Visual Studio.Learn about C++ conformance improvements in Visual Studio.

Таблица соответствия Microsoft C++ стандартам языкаMicrosoft C++ language conformance tableСписок с данными о состоянии соответствия стандартам по каждой функции в компиляторе C++ MSVC.A list of conformance status by feature in the MSVC C++ compiler.

Журнал изменений Microsoft C/C++ в версиях с 2003 по 2015Microsoft C/C++ change history 2003 — 2015Ознакомьтесь с критическими изменениями в предыдущих версиях.Learn about the breaking changes in previous versions.

Сборка (компиляция и компоновка)Build (compile and link)

Выберите Сборка > Собрать решение в строке меню или нажмите клавиши CTRL+SHIFT+B , чтобы выполнить компиляцию и компоновку проекта.Choose Build > Build Solution on the menu bar, or enter the Ctrl+Shift+B key combination to compile and link a project. Предупреждения и ошибки сборки отображаются в списке ошибок ( CTRL+\, E ).Build errors and warnings are reported in the Error List ( Ctrl+\, E ). Окно Вывод ( ALT+2 ) содержит сведения о процессе сборки.The Output Window ( Alt+2 ) shows information about the build process.

Дополнительные сведения о настройке сборок см. в разделах Работа со свойствами проектов и Проекты и системы сборок.For more information about configuring builds, see Working with Project Properties and Projects and build systems.

Можно также использовать компилятор (cl.exe) и многие другие связанные со сборкой автономные средства, такие как NMAKE и LIB, непосредственно из командной строки.You can also use the compiler (cl.exe) and many other build-related standalone tools such as NMAKE and LIB directly from the command line. Дополнительные сведения см. в разделах Создание кода C/C++ в командной строке и Справочник по сборке C/C++.For more information, see Build C/C++ code on the command line and C/C++ Building Reference.

Нужны ли старые версии Visual C++?

В интернете часто задают вопрос, нужны ли на компьютере все версии библиотек Microsoft Visual C++, или почему они не обновляются до последней, удаляя все предыдущие. Ответим, что удалять их не стоит, особенно если вы не хотите сталкиваться с проблемой невозможности запуска одной из ранее установленных игр после удаления старой версии Visual C++.

Если вы видите подобную картину в списке установленных программ, то лучшим решением будет просто пролистать этот список и не трогать его.

Не спешите удалять и 32-разрядные версии пакетов (с пометкой х86), даже если пользуетесь 64-разрядной Windows (x64). Их могут использовать установленные программы и игры!

Прокрутка и изменение масштабаScroll and zoom

Вы можете увеличивать или уменьшать масштаб в редакторе. Для этого прокрутите колесико мыши, удерживая клавишу CTRL.You can zoom in or out in the editor by pressing the Ctrl key and scrolling with your mouse wheel. Кроме того, изменить масштаб можно с помощью параметров масштабирования в левом нижнем углу.You can also zoom by using the zoom setting in the bottom left corner.

Режим карты для полосы прокрутки позволяет быстро прокручивать и просматривать файл кода, не покидая текущего расположения.Scrollbar Map Mode enables you to quickly scroll and browse through a code file without leaving your current location. Чтобы перейти непосредственно в это расположение, можно также щелкнуть в любом месте на карте кода.You can click anywhere on the code map to go directly to that location.

Чтобы включить режим карты, введите «карта» в поле быстрого запуска на главной панели инструментов и выберите Использовать режим карты прокрутки.To turn on Map Mode, type «map» in the Quick Launch search box in the main toolbar and choose Use scroll map mode. Дополнительные сведения см. в разделе Практическое руководство. Отслеживание кода за счет настройки полосы прокрутки.For more information, see How to: Track your code by customizing the scrollbar.

При включенном режиме карты полоса прокрутки выделяет изменения, внесенные в файл.When Map Mode is off, the scroll bar still highlights the changes you have made in the file. Зеленый цвет означает, что изменения сохранены, а желтый — не сохранены.Green indicates saved changes and yellow indicates unsaved changes.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector