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

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

10
Как я могу получить максимальное (или минимальное) значение в векторе?
Как я могу получить максимальное (или минимальное) значение в векторе на C ++ ? Я видел несколько решений для этого в Google, но ни одно из них не имело для меня смысла :( Может ли кто-нибудь объяснить простым и понятным способом, как получить максимальное или минимальное значение из вектора, пожалуйста? …
124 c++  vector  max  min 

9
Примеры C ++ SFINAE?
Я хочу больше углубиться в метапрограммирование шаблонов. Я знаю, что SFINAE означает «отказ замены не является ошибкой». Но может ли кто-нибудь показать мне хорошее применение SFINAE?

9
Где мне найти определение size_t?
Я вижу переменные, определенные этим типом, но не знаю, откуда они взялись и каково их назначение. Почему бы не использовать int или unsigned int? (А как насчет других «похожих» типов? Void_t и т. Д.).
123 c++  c  variables 

11
Каковы преимущества использования библиотек C ++ Boost? [закрыто]
В его нынешнем виде этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, повлечет за собой дебаты, аргументы, опросы или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, снова открыть, …
123 c++  boost 

7
Почему std :: queue :: pop не возвращает значение?
Я просмотрел эту страницу, но не могу понять причину того же. Там упоминается, что "для него более разумно вообще не возвращать никакого значения и требовать от клиентов использования front () для проверки значения в начале очереди" Но проверка элемента из front () также требует, чтобы этот элемент был скопирован в …
123 c++  stl 

4
Организация проекта C ++ (с gtest, cmake и doxygen)
Я новичок в программировании в целом, поэтому решил, что начну с создания простого векторного класса на C ++. Однако я бы хотел с самого начала выработать хорошие привычки, а не пытаться изменить свой рабочий процесс позже. У меня сейчас только два файла vector3.hppи vector3.cpp. Этот проект будет постепенно расти (делая …
123 c++  cmake  doxygen  googletest 


30
Есть ли простой способ преобразовать перечисление C ++ в строку?
Предположим, у нас есть несколько именованных перечислений: enum MyEnum { FOO, BAR = 0x50 }; Я искал в Google сценарий (на любом языке), который сканирует все заголовки в моем проекте и генерирует заголовок с одной функцией для каждого перечисления. char* enum_to_string(MyEnum t); И реализация примерно так: char* enum_to_string(MyEnum t){ switch(t){ …
123 c++  string  enums  scripting 

13
Проблема производительности C ++: преобразование целого числа в std :: string
Может ли кто-нибудь превзойти производительность моего целого числа до кода std :: string, указанного ниже? Уже есть несколько вопросов, объясняющих, как преобразовать целое число std::stringв C ++, например этот , но ни одно из предложенных решений не является эффективным. Вот готовый к компиляции код для некоторых распространенных методов, с которыми …

14
Следует ли использовать спецификатор исключения в C ++?
В C ++ вы можете указать, что функция может или не может генерировать исключение, используя спецификатор исключения. Например: void foo() throw(); // guaranteed not to throw an exception void bar() throw(int); // may throw an exception of type int void baz() throw(...); // may throw an exception of some unspecified …

9
Как передать функцию-член, если ожидается бесплатная функция?
Вопрос в следующем: рассмотрите этот фрагмент кода: #include <iostream> class aClass { public: void aTest(int a, int b) { printf("%d + %d = %d", a, b, a + b); } }; void function1(void (*function)(int, int)) { function(1, 1); } void test(int a,int b) { printf("%d - %d = %d", a …


10
Как скопировать содержимое массива в std :: vector в C ++ без цикла?
У меня есть массив значений, который передается моей функции из другой части программы, которую мне нужно сохранить для последующей обработки. Так как я не знаю, сколько раз будет вызываться моя функция, прежде чем придет время обрабатывать данные, мне нужна динамическая структура хранения, поэтому я выбрал файл std::vector. Я не хочу …
123 c++  stl  vector  copy 

3
polymorphic_allocator: когда и зачем мне его использовать?
Вот документация по cppreference , вот рабочий проект. Должен признать, что я не понимал, какова настоящая цель polymorphic_allocatorи когда / почему / как я должен его использовать. Например, pmr::vectorподпись имеет следующую подпись: namespace pmr { template <class T> using vector = std::vector<T, polymorphic_allocator<T>>; } Что polymorphic_allocatorпредлагает? Что std::pmr::vectorпредлагает предложение относительно …
123 c++  allocator  c++17 

13
Как заставить компилятор C #, C ++ или Java вычислять 1 + 2 + 3 +… + 1000 во время компиляции?
В недавнем интервью мне задали действительно странный вопрос. Интервьюер спросил меня, как я могу вычислить 1 + 2 + 3 + ... + 1000, просто используя функции компилятора. Это означает, что мне не разрешено писать программу и выполнять ее, но я должен просто написать программу, которая могла бы заставить компилятор …

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