Вопросы с тегом «c++»

C ++ - это язык программирования общего назначения. Первоначально он был разработан как расширение C и имеет аналогичный синтаксис, но теперь это совершенно другой язык. Используйте этот тег для вопросов о коде (который будет скомпилирован с помощью компилятора C ++). Используйте тег, зависящий от версии, для вопросов, связанных с конкретной редакцией стандарта [C ++ 11], [C ++ 14], [C ++ 17] или [C ++ 20] и т. Д.

15
Удобное объявление строк времени компиляции в C ++
Возможность создавать строки и управлять ими во время компиляции в C ++ имеет несколько полезных приложений. Хотя в C ++ можно создавать строки во время компиляции, этот процесс очень громоздкий, поскольку строку необходимо объявить как последовательность символов с переменным числом аргументов, например using str = sequence<'H', 'e', 'l', 'l', 'o', …

5
Как завершить поток в C ++ 11?
Мне не нужно правильно завершать поток или заставлять его отвечать на команду «завершить». Я заинтересован в принудительном завершении потока с использованием чистого C ++ 11.

11
Зачем нам нужен extern «C» {#include <foo.h>} в C ++?
Почему мы должны использовать: extern "C" { #include &lt;foo.h&gt; } В частности: Когда мы должны использовать это? Что происходит на уровне компилятора / компоновщика, что требует от нас его использования? Как с точки зрения компиляции / компоновки это решает проблемы, которые требуют от нас его использования?

15
Определение 32 против 64 бит в C ++
Я ищу способ надежно определить, компилируется ли код C ++ в 32 против 64 бит. Мы придумали то, что мы считаем разумным решением с использованием макросов, но нам было любопытно узнать, могут ли люди подумать о случаях, когда это может дать сбой, или есть лучший способ сделать это. Обратите внимание, …

12
На каких платформах есть что-то кроме 8-битного символа?
Время от времени кто-то на SO указывает, что char(иначе, «байт») не обязательно 8 бит . Кажется, что 8-битный charпочти универсален. Я бы подумал, что для основных платформ необходимо иметь 8-битную версию, charчтобы обеспечить ее жизнеспособность на рынке. И сейчас, и исторически, какие платформы используют charне 8 бит, и почему они …
136 c++  c  cross-platform 

8
Системы сборки C ++ - Что использовать? [закрыто]
Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме переполнения стека. Закрыто 4 года назад . Улучшить этот вопрос Я смотрю на запуск нового проекта на C ++ - изначально только в …
136 c++  build 

9
Почему функции C не могут быть искажены по имени?
Недавно у меня было интервью, и был задан один вопрос: в чем смысл использования extern "C"кода на C ++? Я ответил, что это использование функций C в коде C ++, так как C не использует искажение имен. Меня спросили, почему C не использует искажение имен и, честно говоря, я не …
136 c++  c  name-mangling  extern-c 

16
Как delete [] знает, что это массив?
Хорошо, я думаю, что мы все согласны с тем, что то, что происходит со следующим кодом, не определено, в зависимости от того, что передано, void deleteForMe(int* pointer) { delete[] pointer; } Указатель может быть разного рода, поэтому выполнение безусловного delete[]для него не определено. Тем не менее, давайте предположим, что мы …

13
Как развернуть кортеж в аргументы функции шаблона переменной?
Рассмотрим случай шаблонной функции с переменными аргументами шаблона: template&lt;typename Tret, typename... T&gt; Tret func(const T&amp;... t); Теперь у меня есть кортеж tзначений. Как мне вызвать, func()используя значения кортежа в качестве аргументов? Я читал об bind()объекте функции с call()функцией, а также о apply()функции в различных устаревших документах. Реализация GNU GCC 4.4, …
136 c++  c++11  arguments  tuples 

8
Какова цель использования -pedantic в компиляторе GCC / G ++?
Эта записка говорит: -ansi: указывает компилятору реализовать опцию языка ANSI. Это отключает определенные «функции» GCC, которые несовместимы со стандартом ANSI. -pedantic: используется в сочетании с -ansi, это говорит компилятору строго придерживаться стандарта ANSI, отклоняя любой код, который не соответствует. Перво-наперво: Какова цель -pedanticи -ansiпараметры компилятора GCC / G ++ (я …
136 c++  c  gcc  g++ 

6
Методы стирания типа
(Под стиранием типов я имею в виду скрытие некоторой или всей информации о типах, относящейся к классу, что-то вроде Boost.Any .) Я хочу овладеть методами стирания типов, а также делиться теми, о которых я знаю. Я надеюсь найти какую-то сумасшедшую технику, о которой кто-то подумал в свой самый темный час. …
136 c++  type-erasure 

5
Новый синтаксис «= default» в C ++ 11
Я не понимаю, зачем мне это делать: struct S { int a; S(int aa) : a(aa) {} S() = default; }; Почему бы просто не сказать: S() {} // instead of S() = default; зачем вводить для этого новый синтаксис?
136 c++  c++11 

24
Почему имена переменных не могут начинаться с цифр?
Некоторое время назад я работал с новым разработчиком C ++, когда он задал вопрос: «Почему имена переменных не могут начинаться с цифр?» Я не мог придумать ответ, за исключением того, что некоторые числа могут содержать текст (123456L, 123456U), и это было бы невозможно, если бы компиляторы думали, что все с …


30
Как определить, является ли строка числом с помощью C ++?
У меня было немало проблем при попытке написать функцию, которая проверяет, является ли строка числом. Для игры, которую я пишу, мне просто нужно проверить, является ли строка из файла, который я читаю, числом (таким образом я буду знать, является ли это параметром). Я написал следующую функцию, которая, как мне кажется, …
136 c++  visual-c++ 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.