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

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


6
Правильный способ инициализации структур C ++
Наш код включает структуру POD (Plain Old Datastructure) (это базовая структура C ++, в которой есть другие структуры и переменные POD, которые необходимо инициализировать вначале). Судя по тому, что я читал , кажется, что: myStruct = (MyStruct*)calloc(1, sizeof(MyStruct)); должен инициализировать все значения до нуля, как это делает: myStruct = new …

8
Общий способ привести int к enum в C ++
Есть ли универсальный способ бросить intна enumв C++? Если intпопадает в диапазон, enumон должен вернуть enumзначение, в противном случае выбросить exception. Есть ли способ написать это в общем виде ? enum typeСледует поддерживать более одного . Предыстория: у меня есть внешний тип перечисления, и я не могу контролировать исходный код. …
82 c++  casting  enums 

30
Есть ли причина использовать C вместо C ++ для встраиваемой разработки?
Вопрос У меня есть два компилятора на моем оборудовании C ++ и C89 Я думаю об использовании C ++ с классами, но без полиморфизма (чтобы избежать vtables). Основные причины, по которым я хотел бы использовать C ++: Я предпочитаю использовать «встроенные» функции вместо макроопределений. Я хотел бы использовать пространства имен, …
82 c++  c  embedded  c89 

3
Что такое субнормальное число с плавающей запятой?
Справочная страница isnormal () сообщает: Определяет, является ли данное число с плавающей запятой arg нормальным, т. Е. Не равно нулю, субнормальному, бесконечному или NaN. Число, равное нулю, бесконечности или NaN, ясно, что это означает. Но это также говорит о субнормальном. Когда число ненормальное?

4
В чем разница между C ++ 0x и C ++ 11?
Я вижу смешанное использование этих двух терминов здесь, на SO. Википедия говорит C ++ 11, также ранее известный как C ++ 0x ... но я не знаю почему. Почему сначала он был назван C ++ 0x, а затем C ++ 11? Кроме того, что означает x? Моя догадка - как …
82 c++  c++11 

10
Является ли цикл for на основе диапазона устаревшим для многих простых алгоритмов?
Решение алгоритма: std::generate(numbers.begin(), numbers.end(), rand); Решение для цикла на основе диапазона: for (int& x : numbers) x = rand(); Зачем мне использовать более подробные std::generateциклы for на основе диапазона в C ++ 11?
81 c++  algorithm  stl  c++11  foreach 

26
Какие функции оболочки стандартной библиотеки C ++ вы используете?
Этот вопрос , заданный сегодня утром, заставил меня задуматься, какие функции, по вашему мнению, отсутствуют в стандартной библиотеке C ++, и как вы пытались заполнить пробелы с помощью функций-оболочек. Например, в моей собственной библиотеке утилит есть эта функция для добавления вектора: template <class T> std::vector<T> & operator += ( std::vector<T> …
81 c++ 

6
Бьярн ошибается насчет этого примера ADL, или у меня есть ошибка компилятора?
Я читаю язык программирования C ++, 4-е издание ( Бьярна Страуструпа ) оаргумент-зависимый поиск. Вот цитата (26.3.6, Сверхагрессивный ADL): Поиск, зависящий от аргументов (часто называемый ADL), очень полезен, чтобы избежать многословия (14.2.4). Например: #include <iostream> int main() { std::cout << "Hello, world" << endl; // OK because of ADL } …


2
Что такое параметр проверки жизненного цикла разработки безопасности в Visual Studio?
Я использую предварительную версию Visual Studio 2013, хотя уверен, что видел ее в более ранних версиях. При создании нового проекта с помощью мастера я выбираю C ++, консольное приложение Win32, и есть возможность включить проверку жизненного цикла разработки безопасности в моем проекте. Может ли кто-нибудь объяснить, что именно эта опция …

5
Каковы лучшие (портативные) кроссплатформенные математические библиотеки произвольной точности? [закрыто]
Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме Stack Overflow. Закрыт 5 лет назад . Уточните этот вопрос Я ищу хорошую математическую библиотеку произвольной точности на C или C ++. Не …
81 c++  c  biginteger  bigdecimal  gmp 

6
Быстрое пересечение прямоугольника с прямоугольником
Какой быстрый способ проверить, пересекаются ли 2 прямоугольника? Поиск в Интернете нашел этот однострочный (WOOT!), Но я не понимаю, как написать его на Javascript, похоже, он написан на древней форме C ++. struct { LONG left; LONG top; LONG right; LONG bottom; } RECT; bool IntersectRect(const RECT * r1, const …

6
const char * и char const * - это одно и то же?
Насколько я понимаю, constмодификаторы следует читать справа налево. Из этого я понял: const char* - это указатель, элементы char которого нельзя изменить, но сам указатель может, и char const* постоянный указатель на mutableсимволы. Но я получаю следующие ошибки для следующего кода: const char* x = new char[20]; x = new …

4
Почему 'd / = d' не генерирует исключение деления на ноль, когда d == 0?
Я не совсем понимаю, почему я не получаю исключение деления на ноль: int d = 0; d /= d; Я ожидал получить деление на нулевое исключение, но вместо этого d == 1. Почему не d /= dгенерирует исключение деления на ноль, когда d == 0?

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