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

153
Почему C ++ не может быть проанализирован с помощью анализатора LR (1)?

Я читал о парсерах и генераторах парсеров и нашел это утверждение на странице анализа LR в Википедии: Многие языки программирования могут быть проанализированы с использованием некоторого варианта синтаксического анализатора LR. Одним заметным исключением является C ++. Почему это так? Какое...

153
Оптимизация «время (1);» в C ++ 0x

Обновлено, смотрите ниже! Я слышал и читал, что C ++ 0x позволяет компилятору напечатать «Hello» для следующего фрагмента #include <iostream> int main() { while(1) ; std::cout << "Hello" << std::endl; } По-видимому, это как-то связано с потоками и возможностями оптимизации. Мне...

153
Проверка на нулевой указатель в C / C ++ [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . Улучшить этот вопрос В недавнем обзоре кода участник пытается обеспечить...

153
Разумно ли заменить boost :: thread и boost :: mutex на c ++ 11 эквивалентов?

Мотивация: причина, по которой я рассматриваю это, заключается в том, что мой гениальный руководитель проекта считает, что повышение - это еще одна зависимость, и это ужасно, потому что «вы зависите от этого» (я попытался объяснить качество повышения, а затем через некоторое время сдался :( Меньшая...

153
uint8_t нельзя напечатать с помощью cout

У меня странная проблема с работой с целыми числами в C ++. Я написал простую программу, которая устанавливает значение переменной и затем распечатывает его, но она не работает должным образом. В моей программе всего две строчки кода: uint8_t aa = 5; cout << "value is " << aa <<...

153
Что происходит с отдельным потоком при выходе из main ()?

Предположим, я запускаю a, std::threadа затем detach()it, поэтому поток продолжает выполняться, даже если тот, std::threadкоторый когда-то представлял его, выходит из области видимости. Предположим далее, что программа не имеет надежного протокола для присоединения к отсоединенному потоку 1 ,...

153
Правильно ли определена операция «ложь <истина»?

Определяет ли спецификация C ++: существование оператора «меньше чем» для логических параметров, и если да, результат перестановок с 4 параметрами? Другими словами, определяются ли результаты следующих операций спецификацией? false < false false < true true < false true < true На моей...

153
Является ли «long long» = «long long int» = «long int long» = «int long long»?

Я нашел оба long int longи int long longмогу скомпилировать для типа переменной. Есть ли разница между long int long, int long long, long longи long long int? Вообще, идентичен ли тип, если он имеет одинаковое количество long? 1 длинный: long l; int long il; long int li; 2 длинные: long long ll;...

153
Может ли num ++ быть атомарным для int num?

В общем случае for int num, num++(или ++num) как операция чтения-изменения-записи не является атомарной . Но я часто вижу, как компиляторы, например GCC , генерируют для него следующий код ( попробуйте здесь ): Так как строка 5, которая соответствует num++одной инструкции, можем ли мы сделать...

152
Насколько дорог RTTI?

Я понимаю, что использование RTTI приводит к потере ресурса, но насколько он велик? Везде, где я смотрел, просто говорится, что «RTTI стоит дорого», но ни один из них на самом деле не дает никаких эталонов или количественных данных, касающихся памяти, времени процессора или скорости. Итак,...

152
Вы отлаживаете код C ++ в Vim? Как?

Вопрос ко всем вам, кто использует Vim для разработки приложений на C ++. В моей жизни был период, который можно охарактеризовать как «Я ненавижу Вима !!!» .. «Вим хорош!» Однако, вырос в основном на IDE разработки Microsoft, я привык к этим F5- F11ярлыкам при отладке кода, окну наблюдения, стеку...

152
Константа до или константа после?

Для начала вы, вероятно, знаете, что с constего помощью можно сделать либо данные объекта, либо указатель неизменяемыми, либо и то, и другое. const Object* obj; // can't change data Object* const obj; // can't change pointer const Object* const obj; // can't change data or pointer Однако вы также...

152
Что означает йота из std :: йота?

Я предполагаю, что «i» - это приращение, а «a» - это присваивание, но я не мог понять или найти ответ. Кроме того, он очень похож на нестандартный, itoaчто, на мой взгляд, сбивает с толку....

151
Бесплатный инструмент для проверки исходного кода C / C ++ на соответствие стандартам кодирования? [закрыто]

Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме переполнения стека. Закрыто 6 лет назад . Улучшить этот вопрос Выглядит довольно просто найти такой...

151
Необходим предсказуемый генератор случайных чисел

Я разработчик веб-игр, и у меня возникла проблема со случайными числами. Допустим, у игрока есть 20% шанс получить критический удар своим мечом. Это означает, что 1 из 5 попаданий должен быть критическим. Проблема в том, что я получил очень плохие результаты в реальной жизни - иногда игроки...