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

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


1
C ++ 11: количество параметров функции шаблона с переменным размером?
Как я могу подсчитать количество аргументов функции вариативного шаблона? то есть: template<typename... T> void f(const T&... t) { int n = number_of_args(t); ... } Как лучше всего реализовать number_of_argsвышеперечисленное?

3
как обеспечить функцию подкачки для моего класса?
Как правильно включить мои swapалгоритмы в STL? 1) Участник swap. Имеет ли std::swapиспользовать SFINAE трюк использовать элемент swap. 2) Свободное положение swapв том же пространстве имен. 3) Частичная специализация std::swap. 4) Все вышеперечисленное. Спасибо. РЕДАКТИРОВАТЬ: Похоже, я не сформулировал свой вопрос четко. По сути, у меня есть шаблонный класс, и …
87 c++  algorithm  stl  swap 

3
C ++ 11 позволяет внутри класса инициализировать нестатические и неконстантные члены. Что изменилось?
До C ++ 11 мы могли выполнять инициализацию внутри класса только для статических констант целочисленного или перечислимого типа. Страуструп обсуждает это в своем FAQ по C ++ , приводя следующий пример: class Y { const int c3 = 7; // error: not static static int c4 = 7; // error: …


6
Частичная специализация шаблона функции с ++?
Я знаю, что приведенный ниже код является частичной специализацией класса: template <typename T1, typename T2> class MyClass { … }; // partial specialization: both template parameters have same type template <typename T> class MyClass<T,T> { … }; Также я знаю, что C ++ не допускает частичную специализацию шаблона функции (допускается …

8
С ++ 11 emplace_back в векторе <struct>?
Рассмотрим следующую программу: #include &lt;string&gt; #include &lt;vector&gt; using namespace std; struct T { int a; double b; string c; }; vector&lt;T&gt; V; int main() { V.emplace_back(42, 3.14, "foo"); } Не работает: $ g++ -std=gnu++11 ./test.cpp In file included from /usr/include/c++/4.7/x86_64-linux-gnu/bits/c++allocator.h:34:0, from /usr/include/c++/4.7/bits/allocator.h:48, from /usr/include/c++/4.7/string:43, from ./test.cpp:1: /usr/include/c++/4.7/ext/new_allocator.h: In instantiation of …
87 c++  c++11 


1
gcc / g ++: «Нет такого файла или каталога»
g++ дает мне ошибки формы: foo.cc:&lt;line&gt;:&lt;column&gt;: fatal error: &lt;bar&gt;: No such file or directory compilation terminated. То же самое и при компиляции C-программ с использованием gcc. Почему это? Обратите внимание: этот вопрос задавали много раз раньше, но каждый раз он относился к ситуации, в которой спрашивает. Цель этого вопроса состоит …
87 c++  c  gcc  g++  c++-faq 

5
Взаимодействие с классами C ++ из Swift
У меня есть значительная библиотека классов, написанных на C ++. Я пытаюсь использовать их через какой-то тип моста в Swift, а не переписывать их как код Swift. Основная мотивация заключается в том, что код C ++ представляет собой базовую библиотеку, которая используется на нескольких платформах. По сути, я просто создаю …
87 c++  swift 

3
Как записать std :: string в файл?
Я хочу записать std::stringпеременную, которую я принимаю от пользователя, в файл. Я пробовал использовать write()метод, и он записывает в файл. Но когда я открываю файл, я вижу прямоугольники вместо строки. Строка представляет собой только одно слово переменной длины. Является ли std::stringподходит для этого , или я должен использовать массив символов …
87 c++ 

4
Как вы сериализуете объект в C ++?
У меня есть небольшая иерархия объектов, которые мне нужно сериализовать и передать через соединение сокета. Мне нужно сериализовать объект, а затем десериализовать его в зависимости от типа. Есть ли простой способ сделать это в C ++ (как в Java)? Существуют ли онлайн-образцы кода или учебные пособия по сериализации C ++? …

5
std :: array против производительности массива
Если я хочу построить очень простой массив, например int myArray[3] = {1,2,3}; Должен ли я использовать std::arrayвместо этого? std::array&lt;int, 3&gt; a = {{1, 2, 3}}; В чем преимущества использования std :: array перед обычными? Он более производительный? Просто проще обрабатывать копирование / доступ?
87 c++  c++11  stdarray 

5
Подписанные / беззнаковые сравнения
Я пытаюсь понять, почему следующий код не выдает предупреждение в указанном месте. //from limits.h #define UINT_MAX 0xffffffff /* maximum unsigned int value */ #define INT_MAX 2147483647 /* maximum (signed) int value */ /* = 0x7fffffff */ int a = INT_MAX; //_int64 a = INT_MAX; // makes all warnings go away …

5
С # эквивалент вектора С ++ с непрерывной памятью?
Что такое C # эквивалент вектора C ++? Я ищу эту функцию: Чтобы иметь динамический массив непрерывно хранимой памяти, который не имеет потери производительности для доступа по сравнению со стандартными массивами. Я искал и они говорят .NET equivalent to the vector in C++ is the ArrayList так: Есть ли у …
87 c#  c++  vector 

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