Запитання з тегом «c++»

C ++ - мова програмування загального призначення. Спочатку він був розроблений як розширення до C і має подібний синтаксис, але зараз це зовсім інша мова. Використовуйте цей тег для запитань про код (який потрібно) зібрати за допомогою компілятора C ++. Використовуйте тег, що стосується версії, для питань, пов’язаних із конкретною стандартною редакцією [C ++ 11], [C ++ 14], [C ++ 17] або [C ++ 20] тощо.


3
Чому std :: getline () пропускає введення після форматованого вилучення?
У мене є такий код, який спонукає користувача до їх імені та штату: #include <iostream> #include <string> int main() { std::string name; std::string state; if (std::cin >> name && std::getline(std::cin, state)) { std::cout << "Your name is " << name << " and you live in " << state; } …
105 c++  input  iostream  istream  c++-faq 


3
Різниця між CC, gcc та g ++?
Чим відрізняються 3 компілятори CC, gcc, g ++ при компілюванні коду C і C ++ з точки зору генерації коду асемблери, наявних бібліотек, мовних особливостей тощо?
105 c++  c  gcc  compilation 

2
Чи має на увазі constexpr вбудований?
Розглянемо наступну вбудовану функцію: // Inline specifier version #include<iostream> #include<cstdlib> inline int f(const int x); inline int f(const int x) { return 2*x; } int main(int argc, char* argv[]) { return f(std::atoi(argv[1])); } і еквівалентна версія constexpr: // Constexpr specifier version #include<iostream> #include<cstdlib> constexpr int f(const int x); constexpr int …

19
Помилка CMake на CMakeLists.txt: 30 (проект): CMAKE_C_COMPILER не знайдено
Я намагаюся зробити рішення Visual Studio з CMake для компіляції останньої версії aseprite, і CMake надає мені: No CMAKE_C_COMPILER could be found. No CMAKE_CXX_COMPILER could be found. Я вже завантажив GCC і використовую Visual Studio 2015 . Я стежу за цим уроком: https://github.com/aseprite/aseprite/blob/master/INSTALL.md

13
Чому неможливо побудувати компілятор, який може визначити, чи змінює функція C ++ значення певної змінної?
Я читав цей рядок у книзі: Неможливо побудувати компілятор, який насправді може визначити, змінить чи не функція C ++ значення певної змінної. У параграфі йшлося про те, чому компілятор є консервативним під час перевірки на стабільність. Чому неможливо побудувати такий компілятор? Компілятор завжди може перевірити, чи змінена переназначена зміна, на …

8
Як перевірити підтримку C ++ 11?
Чи є спосіб виявити під час компіляції, якщо компілятор підтримує певні функції C ++ 11? Наприклад, щось подібне: #ifndef VARIADIC_TEMPLATES_SUPPORTED #error "Your compiler doesn't support variadic templates. :(" #else template <typename... DatatypeList> class Tuple { // ... } #endif
104 c++  c++11 

10
Чи законно індексувати в структуру?
Незалежно від того, наскільки "поганий" код, і якщо припустити, що вирівнювання тощо не є проблемою компілятора / платформи, це невизначена чи порушена поведінка? Якщо у мене така структура: struct data { int a, b, c; }; struct data thing; Є чи це законним для доступу a, bа cтакож (&thing.a)[0], (&thing.a)[1]і …
104 c++  c  struct 

7
Чому аргумент не є постійною?
int main( const int argc , const char[] const argv) Оскільки в пункті № 3 ефективного C ++ зазначено "Використовувати const, коли це можливо", я починаю думати "чому б не зробити ці" постійні "параметриconst ". Чи є сценарій, коли значення програми argcзмінюється в програмі?
104 c++  const  main  argc  effective-c++ 

14
Використання попередньо складених заголовків з CMake
Я бачив декілька (старих) дописів у мережі про злому разом деякої підтримки попередньо складених заголовків у CMake. Вони всі здаються трохи повсюдно, і кожен має свій спосіб зробити це. Який найкращий спосіб зробити це на даний момент?

4
оператор bool ++ і -
Сьогодні під час написання коду Visual C ++ я натрапив на те, що мене здивувало. Здається, C ++ підтримує ++ (приріст) для bool, але не - (декремент). Це просто випадкове рішення, чи є причина чому? Це компілює: static HMODULE hMod = NULL; static bool once = false; if (!once++) hMod …
104 c++  boolean  increment 

27
Заміна двох змінних значень без використання третьої змінної
Одне з дуже складних питань, яке задавали в інтерв'ю. Обміняйте значеннями двох змінних, таких як a=10і b=15. Як правило, для заміни двох значень змінних нам потрібна 3-я змінна типу: temp=a; a=b; b=temp; Тепер вимога полягає в тому, щоб поміняти значення двох змінних без використання 3-ї змінної.
104 c++ 

1
Помилка компіляції C ++: має ініціалізатор, але неповний тип
Я кодую Eclipse і маю щось подібне: #include <ftream> #include <iostream> void read_file(){ char buffer[1025]; std::istringstream iss(buffer); } Однак, коли я намагаюся створити, я отримую таку помилку: variable 'std::istringstream iss' has initializer but incomplete type Будь-які швидкі думки? Я гуляв навколо, і здається, що більшість людей з цією проблемою просто …

3
Що таке супроводи у C ++ 20?
У чому полягають супроводи c ++ 20? Чим він відрізняється від «Паралелізму2» або / та «Конкурсу2» (дивіться нижче на зображення)? Зображення нижче від ISOCPP. https://isocpp.org/files/img/wg21-timeline-2017-03.png
104 c++  coroutine  c++20 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.