Loading...
RaUndreundre avatar RaUndreundre 55 Точки

Visual Studio Code със стандарт C++11

Здравейте,
За целите на курса C++ Advanced, по препоръка на лектора, трябва да си настроя IDE-то на C++11 за да е съвместимо с джъдж (за да не ме боли главата, както каза той :-D ).
Утрепах няколко часа в четене и проби - не ще и не ще. - все си стои на C++14.
Някой да е минавал през тази мизерия за VSCode?

Тагове:
0
C++ Advanced
j.petrov_90 avatar j.petrov_90 373 Точки

Привет,
Не ползвам Visual Studio Code, но намерих това:
https://code.visualstudio.com/docs/cpp/config-msvc

Иди на секцията C/C++ configurations

This opens the C/C++ Configurations page. When you make changes here, VS Code writes them to a file called c_cpp_properties.json in the .vscode folder.

Папките, които започват с точка обикновенно са скрити за file exporer-a, освен, ако не му дадеш да показна скрити файлове и папки.

Visual Studio Code places these settings in .vscode\c_cpp_properties.json. If you open that file directly, it should look something like this:
Предполагам, ако смениш cppStandard: "c++17" на c++11 би следвало да сработи.

{
  "configurations": [
    {
      "name": "Win32",
      "includePath": ["${workspaceFolder}/**"],
      "defines": ["_DEBUG", "UNICODE", "_UNICODE"],
      "windowsSdkVersion": "10.0.18362.0",
      "compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe",
      "cStandard": "c11",
      "cppStandard": "c++17",
      "intelliSenseMode": "msvc-x64"
    }
  ],
  "version": 4
}
0
RaUndreundre avatar RaUndreundre 55 Точки

Благодаря за отдленото време. За съжаление това не сработва при мен. Някъде го държи това 14 и туй си е.
Ще го мъча като намеря време а за сега ще имам едно наум за джъджа.
За проверка на стандарта ползвам следния код и си мисля че би трябвало да е правилен.

#include<iostream>
int main() {
   if (__cplusplus == 201703L)
      std::cout << "C++17" << std::endl;
   else if (__cplusplus == 201402L)
      std::cout << "C++14" << std::endl;
   else if (__cplusplus == 201103L)
      std::cout << "C++11" << std::endl;
   else if (__cplusplus == 199711L)
      std::cout << "C++98" << std::endl;
   else
      std::cout << "pre-standard C++" << std::endl;
}

 

0
Smeshan avatar Smeshan 89 Точки

Привет,
при мен с този код за проверка винаги изписва C++98 :? независимо дали слагам 14 или 17?
Иначе изобщо нямам такъв файл в c_cpp_properties.json в .vscode дори след като направя промени уж да се запишат там.

Аз нещо съм изпуснал, но какво трябва да се внимава с джъдж ако не е настроен на с++11?

Поздрави,
Илиян

0
04/06/2021 18:16:04
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.