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

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

1
Использование Maven для проектов C / C ++
Я помещаю сборку Maven вокруг кластера любительского, плохо написанного и откровенно примитивного кода C / C ++ (то есть немного C, немного C ++). Проблема в том, что их сейчас в обращении много, и их нелегко заменить. Для его создания требуется много племенных знаний (вам нужно переходить от куба к …

19
Кодирование / декодирование URL-адресов в C ++ [закрыто]
Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме Stack Overflow. Закрыт 2 года назад . Уточните этот вопрос Кто-нибудь знает какой-нибудь хороший код на C ++, который делает это?

10
Есть ли причина использовать ключевое слово auto в C ++ 03?
Обратите внимание, что этот вопрос был первоначально опубликован в 2009 году, до ратификации C ++ 11 и до того, как значение autoключевого слова было радикально изменено. Предоставленные ответы относятся только к значению C ++ 03 auto, которое является указанным классом хранения, а не к значению C ++ 11, autoкоторое является …
85 c++  keyword  c++03 

9
Почему Math.pow (0, 0) === 1?
Все мы знаем, что 0 0 неопределенно. Но , Javascript говорит , что: Math.pow(0, 0) === 1 // true и C ++ говорит то же самое: pow(0, 0) == 1 // true ЗАЧЕМ? Я знаю это: >Math.pow(0.001, 0.001) 0.9931160484209338 Но почему не Math.pow(0, 0)выдает ошибок? Или, может NaNбыть, лучше, чем …

2
Встроенная версия функции возвращает другое значение, чем не встроенная версия
Как могут две версии одной и той же функции, различающиеся только тем, что одна является встроенной, а другая - нет, возвращать разные значения? Вот код, который я написал сегодня, и я не уверен, как он работает. #include <cmath> #include <iostream> bool is_cube(double r) { return floor(cbrt(r)) == cbrt(r); } bool …
85 c++ 

3
Законно ли исходный код, содержащий неопределенное поведение, вызывать сбой компилятора?
Скажем, я собираюсь скомпилировать какой-то плохо написанный исходный код C ++, который вызывает неопределенное поведение, и поэтому (как говорится) «все может случиться». С точки зрения того, что спецификация языка C ++ считает приемлемым для "совместимого" компилятора, "что-нибудь" в этом сценарии включает сбой компилятора (или кражу моих паролей, или иное некорректное …

8
Сужающие преобразования в C ++ 0x. Это только у меня, или это похоже на переломную ситуацию?
C ++ 0x сделает следующий код и аналогичный код некорректным, поскольку он требует так называемого сужающего преобразования a doubleв a int. int a[] = { 1.0 }; Мне интересно, часто ли этот вид инициализации используется в реальном коде. Сколько кода будет нарушено этим изменением? Сложно ли исправить это в вашем …

6
Необходим итератор при использовании циклов for на основе диапазона
В настоящее время я могу делать только циклы на основе дальности с этим: for (auto& value : values) Но иногда мне нужен итератор для значения вместо ссылки (по какой-то причине). Есть ли какой-либо метод без необходимости проходить через весь вектор, сравнивая значения?
85 c++  c++11  for-loop  iterator 

1
C ++ 11 make_pair с указанными параметрами шаблона не компилируется
Я просто играл с g ++ 4.7 (один из более поздних снимков) с включенным -std = c ++ 11. Я пытался скомпилировать часть существующего кода, и один неудачный случай меня несколько смущает. Буду признателен, если кто-нибудь сможет объяснить, что происходит. Вот код: #include <utility> #include <iostream> #include <vector> #include <string> …


3
Повторное использование перемещенного контейнера?
Как правильно повторно использовать перемещенный контейнер? std::vector<int> container; container.push_back(1); auto container2 = std::move(container); // ver1: Do nothing //container2.clear(); // ver2: "Reset" container = std::vector<int>() // ver3: Reinitialize container.push_back(2); assert(container.size() == 1 && container.front() == 2); Из того, что я прочитал в стандартном проекте C ++ 0x; ver3 кажется правильным, поскольку …


3
Могут ли директивы препроцессора #if быть вложенными в C ++?
У меня вопрос о директивах препроцессора в c ++: Например: #ifndef QUESTION //some code here #ifndef QUESTION //some code here #endif #endif Можем ли мы использовать его таким образом, и может компилятор C ++ соответствовать ifndefи endifв правильном направлении?

2
Безопасно ли удалить nullptr в с ++ 0x?
В c++03ней довольно ясно , что удаление пустого указателя не имеет никакого эффекта. В самом деле, это прямо указано в §5.3.5/2том, что: В любом случае, если значением операнда удаления является нулевой указатель, операция не имеет никакого эффекта. Тем не менее, в текущем проекте для c++0xэтого предложения , кажется, отсутствует. В …

4
Как работает std :: flush?
Может кто-нибудь объяснить (желательно на простом английском), как std::flushработает? Что это такое? Когда бы вы промыли ручей? Почему это важно? Спасибо.
85 c++  stream 

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