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

84
Оператор if vs оператор if-else, что быстрее? [закрыто]

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

84
Всегда ли указатель с правильным адресом и типом является действительным указателем, начиная с C ++ 17?

(В отношении этого вопроса и ответа .) До стандарта C ++ 17 в [basic.compound] / 3 было включено следующее предложение : Если объект типа T расположен по адресу A, говорят, что указатель типа cv T *, значением которого является адрес A, указывает на этот объект, независимо от того, как было...

84
Есть ли элегантный и быстрый способ проверить, что 1-бит целого числа находится в непрерывной области?

Мне нужно проверить, образуют ли позиции (от 0 до 31 для 32-битного целого числа) с битовым значением 1 непрерывную область. Например: 00111111000000000000000000000000 is contiguous 00111111000000000000000011000000 is not contiguous Я хочу, чтобы этот тест, то есть какая-то функция...

84
Как сделать константную переменную цикла for, за исключением оператора увеличения?

Рассмотрим стандартный цикл for: for (int i = 0; i < 10; ++i) { // do something with i } Я хочу предотвратить изменение переменной iв теле forцикла. Тем не менее, я не могу объявить , iкак constкак это делает приращение заявление недействительным. Есть ли способ , чтобы сделать iс...

83
Какой ваш любимый инструмент профилирования (для C ++) [закрыто]

В настоящее время этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, потребует дебатов, аргументов, опросов или расширенного обсуждения. Если вы считаете, что этот вопрос можно...

83
как работают boost :: function и boost :: bind

Мне не нравится, когда магические коробки разбросаны по всему моему коду ... как именно работают эти два класса, чтобы позволить сопоставить практически любую функцию с объектом функции, даже если функция <> имеет совершенно другой параметр, установленный на тот, который я передаю...

83
Почему const подразумевает внутреннюю связь в C ++, а в C - нет?

См. Тему. О чем они думали? ОБНОВЛЕНИЕ: изменено со «статического» на «внутреннее связывание», чтобы избежать путаницы. Чтобы привести пример ... Помещение в файл следующего: const int var_a = 1; int var_b = 1; ... и компиляция g++ -c test.cppтолько с экспортом var_b....

83
Как передать переменное количество аргументов в printf / sprintf

У меня есть класс, содержащий функцию «ошибки», которая форматирует некоторый текст. Я хочу принять переменное количество аргументов, а затем отформатировать их с помощью printf. Пример: class MyClass { public: void Error(const char* format, ...); }; Метод Error должен принимать параметры,...

83
Легко проверить наличие неразрешенных символов в общих библиотеках?

Я пишу довольно большую библиотеку общих объектов C ++ и столкнулся с небольшой проблемой, которая затрудняет отладку: Если я определяю функцию / метод в файле заголовка и забываю создать для него заглушку (во время разработки), поскольку я создаю как библиотеку общих объектов, а не исполняемый...

83
Как объявить функцию, принимающую лямбду?

Я прочитал в Интернете множество руководств, в которых объяснялось, как использовать лямбды со стандартной библиотекой (например, std::find ), и все они были очень интересными, но я не мог найти ни одного, объясняющего, как я могу использовать лямбда-выражения для моих собственных функций....

83
Нахождение позиции максимального элемента

Есть ли стандартная функция, которая возвращает позицию (не значение) максимального элемента массива значений? Например: Предположим, у меня есть такой массив: sampleArray = [1, 5, 2, 9, 4, 6, 3] Мне нужна функция, которая возвращает целое число 3, которое сообщает мне, что sampleArray[3]это...

83
Откуда взялось слово «прагма»?

Итак, я знаю, что такое прагма и для чего она используется, но каково значение самого слова? Я много раз использовал его в коде, но я никогда не знал, что это слово на самом деле означает или означает....

83
Переход с C ++ на C

После нескольких лет кодирования на C ++ мне недавно предложили работу кодирования на C во встроенной области. Отложив в сторону вопрос о том, правильно или неправильно отклонять C ++ во встроенном поле, в C ++ есть некоторые особенности / идиомы, которые я бы очень упустил. Просто назвать...

83
Когда и как использовать обработку исключений?

Я читаю об обработке исключений. Я получил некоторую информацию о том, что такое обработка исключений, но у меня есть несколько вопросов: Когда вызывать исключение? Можем ли мы использовать возвращаемое значение, чтобы указать ошибку, вместо того, чтобы генерировать исключение? Если я защищу все...

83
Почему Visual Studio 2010 не может находить / открывать файлы PDB?

Я пытаюсь использовать OpenCV в VS 2010. Я любитель и изучаю первые шаги из вики OpenCV. Однако при попытке отладки своего проекта я получаю следующие ошибки: 'C: \ Windows \ SysWOW64 \ ntdll.dll', не удается найти или открыть файл PDB 'C: \ Windows \ SysWOW64 \ kernel32.dll', не удается найти или...

83
имеет ли `const auto` какое-либо значение?

Думаю, вопрос достаточно ясен. Будет ли autoключевое слово автоматически определять константу или всегда возвращать неконстантный тип, даже если есть, например. две версии функции (одна возвращает, constа другая - нет). Для протокола: я использую const auto end = some_container.end()перед циклами...

83
Обязательные и необязательные аргументы с использованием параметров программы библиотеки Boost

Я использую библиотеку параметров программы Boost для анализа аргументов командной строки. У меня следующие требования: После предоставления «справки» все остальные параметры являются необязательными; Если «помощь» не предоставляется, требуются все остальные варианты. Как я могу с этим справиться?...

83
В std :: multiset есть функция или алгоритм для удаления только одного образца (однозначного или повторяющегося), если элемент найден

Возможно, это дубликат, но я ничего не нашел поиском: При erase(value)вызове std::multisetвсе элементы с найденным значением удаляются. Единственное решение, которое я мог придумать, это: std::multiset<int>::iterator hit(mySet.find(5)); if (hit!= mySet.end()) mySet.erase(hit); Это нормально,...