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

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

7
const перед параметром vs const после имени функции c ++
Какая разница между чем-то вроде этого friend Circle copy(const Circle &); и что-то вроде этого friend Circle copy(Circle&) const; Я знаю const после того, как функция используется, чтобы сообщить компилятору, что эта функция не будет пытаться изменить объект, для которого она вызывается, а как насчет другого?

12
Копировать значения карты в вектор в STL
В данный момент прорабатываю эффективный STL. Правило 5 предполагает, что обычно предпочтительнее использовать функции-члены диапазона вместо их одноэлементных аналогов. В настоящее время я хочу скопировать все значения на карте (т.е. мне не нужны ключи) в вектор. Как лучше всего это сделать?
86 c++  stl  containers 

6
Как проверить, работает ли все еще std :: thread?
Как я могу проверить, работает ли std::threadеще (независимо от платформы)? У него нет timed_join()метода, и joinable()он не предназначен для этого. Я думал заблокировать мьютекс с помощью a std::lock_guardв потоке и использовать try_lock()метод мьютекса, чтобы определить, заблокирован ли он по-прежнему (поток выполняется), но мне это кажется излишне сложным. Вы знаете более …

10
Сверхвысокопроизводительная хеш-карта C / C ++ (таблица, словарь) [закрыто]
Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме Stack Overflow. Закрыт 5 лет назад . Уточните этот вопрос Мне нужно сопоставить примитивные ключи (int, возможно, long) для структурирования значений в высокопроизводительной …

7
Как передать вектор функции?
Я пытаюсь отправить вектор в качестве аргумента функции и не могу понять, как заставить его работать. Пробовал кучу разных способов, но все они выдают разные сообщения об ошибках. Я включаю только часть кода, так как только эта часть не работает. (вектор "random" заполняется случайными, но отсортированными значениями от 0 до …
86 c++  function  vector 

13
Вводит ли ключевое слово volatile в C ++ забор памяти?
Я это понимаю volatile информирует компилятор о том, что значение может быть изменено, но должен ли компилятор для выполнения этой функции вводить забор памяти, чтобы заставить его работать? Насколько я понимаю, последовательность операций с изменчивыми объектами не может быть переупорядочена и должна быть сохранена. Похоже, это подразумевает, что некоторые ограждения …

5
Как мне работать с мьютексами в подвижных типах в C ++?
По дизайну std::mutexне подлежит перемещению или копированию. Это означает, что класс, Aсодержащий мьютекс, не получит конструктор перемещения по умолчанию. Как сделать этот тип Aперемещаемым потокобезопасным способом?

8
Есть ли в C ++ байтовый тип данных?
Если существует, нужно ли включить заголовочный файл? Этот код дает ошибку компиляции: #include <iostream> using namespace std; int main() { byte b = 2; cout << b << endl; return 0; }
86 c++ 

13
Можно ли определить количество элементов класса перечисления c ++?
Можно ли определить количество элементов c ++ enum class: enum class Example { A, B, C, D, E }; Я пробовал использовать sizeof, но возвращает размер элемента перечисления. sizeof(Example); // Returns 4 (on my architecture) Есть ли стандартный способ получить мощность (5 в моем примере)?

4
Сортировка символов строки C ++
Если у меня есть строка, есть ли встроенная функция для сортировки символов или мне придется писать свои собственные? например: string word = "dabc"; Я бы хотел изменить его так, чтобы: string sortedWord = "abcd"; Может быть, использование char - лучший вариант? Как бы я сделал это на C ++?
86 c++  string  sorting 

4
Почему T * может быть передано в регистр, а unique_ptr <T> не может?
Я смотрю выступление Чендлера Каррута в CppCon 2019: Нет абстракций с нулевой стоимостью в нем он приводит пример того, как он был удивлен тем, сколько накладных расходов вы понесли, используя std::unique_ptr&lt;int&gt;овер int*; этот сегмент начинается примерно в момент времени 17:25. Вы можете взглянуть на результаты компиляции его примера пары фрагментов …

6
изменчивый и изменчивый в C ++
У меня вопрос о разнице между изменчивым и изменчивым. Я заметил, что оба значения означают, что это можно изменить. Что еще? Это одно и то же? Какая разница? Где они применимы? Почему предлагаются две идеи? Как их использовать по-другому? Большое спасибо.
85 c++  volatile  mutable 

3
Большая разница (x9) во времени выполнения между почти идентичным кодом на C и C ++
Я пытался решить это упражнение с сайта www.spoj.com: FCTRL - Factorial Вам не обязательно это читать, просто сделайте это, если вам интересно :) Сначала я реализовал это на C ++ (вот мое решение): #include &lt;iostream&gt; using namespace std; int main() { unsigned int num_of_inputs; unsigned int fact_num; unsigned int num_of_trailing_zeros; …
85 c++  c  performance  gcc  iostream 

3
A () = A () - почему он компилируется?
class A {}; int main() { A() = A(); return 0; } Почему этот код компилируется? Не должно быть какой-то ошибки, что слева от оператора присваивания должно быть помещено lvalue? Является ли A () lvalue? версия g ++ 4.7
85 c++ 

9
Какой самый эффективный потокобезопасный регистратор C ++? [закрыто]
Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме Stack Overflow. Закрыт 6 лет назад . Уточните этот вопрос Я работаю над многопоточным приложением, критичным к производительности. Посмотрел логи rlog, Ace и …
85 c++  logging 

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