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

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

8
Як викликати clang-формат через папку проекту cpp?
Чи є спосіб викликати щось на зразок clang-format --style=Webkitцілої папки проекту cpp, а не запускати його окремо для кожного файлу? Я використовую clang-format.pyі vimдля цього, але я припускаю, що є спосіб застосувати це один раз.

1
gcc / g ++: “Немає такого файлу чи каталогу”
g++ видає мені помилки у формі: foo.cc:<line>:<column>: fatal error: <bar>: No such file or directory compilation terminated. Це те саме при складанні C-програм з gcc. Чому так? Зверніть увагу: це запитання вже задавали багато разів, але кожного разу воно було специфічним для ситуації, що вимагала запитання. Мета цього запитання - …
87 c++  c  gcc  g++  c++-faq 

12
У який момент циклу переповнення цілих чисел стає невизначеною поведінкою?
Це приклад для ілюстрації мого запитання, яке включає набагато складніший код, який я не можу розмістити тут. #include <stdio.h> int main() { int a = 0; for (int i = 0; i < 3; i++) { printf("Hello\n"); a = a + 1000000000; } } Ця програма містить невизначену поведінку на …


5
Як ініціалізація значення “int * ptr = int ()” не є незаконною?
Наступний код (взятий звідси ): int* ptr = int(); компілюється у Visual C ++ та ініціалізує значення покажчика. Як це можливо? Я маю на увазі int()призводить об’єкт типу, intі я не можу призначити intвказівник. Як код вище не є незаконним?

6
Як можна нічого не оголошувати всередині main () в C ++ і при цьому мати робочий додаток після компіляції?
В інтерв’ю я зіткнувся з таким запитанням: Ваш друг подарував вам один файл вихідного коду, який друкує номери Фібоначчі на консолі. Зверніть увагу, що блок main () порожній і в ньому немає жодних операторів. Поясніть, як це можливо (підказка: глобальний екземпляр!) Я дуже хочу знати про це, як таке може …
86 c++ 

6
Чому посилання не є “const” у C ++?
Ми знаємо, що "змінна const" вказує на те, що коли вона призначена, ви не можете змінити змінну, наприклад: int const i = 1; i = 2; Програму вище не вдасться скомпілювати; gcc запитує з помилкою: assignment of read-only variable 'i' Немає проблем, я можу це зрозуміти, але наступний приклад мені …


1
Чому GCC попереджає мене про провал, навіть коли я використовую [[провал]]?
У наступному фрагменті коду я використовую стандартний [[fallthrough]]атрибут із C ++ 1z, щоб задокументувати бажаність проходження: #include <iostream> int main() { switch (0) { case 0: std::cout << "a\n"; [[fallthrough]] case 1: std::cout << "b\n"; break; } } У GCC 7.1 код компілюється без помилок. Однак компілятор все ще попереджає …

10
Чому я вважаю за краще використовувати вектор замість deque
Оскільки вони обидва є суміжними контейнерами пам'яті; особливо мудро, деке має майже все, що має вектор, але більше, оскільки його ефективніше вставляти спереду. Чому хтось вважає std::vectorза краще std::deque?
86 c++  stl  vector  deque 


10
Досить друкований std :: кортеж
Це продовження мого попереднього запитання щодо досить друкованих контейнерів STL , для якого нам вдалося розробити дуже елегантне та повністю загальне рішення. На цьому наступному кроці я хотів би включити досить друк для std::tuple<Args...>використання різноманітних шаблонів (отже, це суворо C ++ 11). Бо std::pair<S,T>я просто кажу std::ostream & operator<<(std::ostream & …

2
Що “не так” у C ++ wchar_t та wstrings? Які альтернативи широким персонажам?
Я бачив, як багато людей у ​​спільноті C ++ (зокрема ## c ++ на freenode) обурюються використанням wstringsта wchar_tта їх використанням у вікні api. Що саме "неправильно" в wchar_tі wstring, і якщо я хочу підтримати інтернаціоналізацію, які є деякі альтернативи широким символам?

16
Як кодувати оператор за модулем (%) в C / C ++ / Obj-C, який обробляє від’ємні числа
Один із моїх домашніх улюбленців ненавидить мови, похідні від С (як математика), - це (-1) % 8 // comes out as -1, and not 7 fmodf(-1,8) // fails similarly Яке найкраще рішення? С ++ допускає можливість шаблонів та перевантаження оператора, але обидва вони для мене каламутні. приклади з вдячністю отримані.


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