0
ответов

Равное количество параметров шаблона и функции

Есть ли способ генерировать шаблонную функцию, где есть равное количество параметров шаблона и параметров функции (одного типа)? Например: // функция шаблона: шаблон <...
вопрос задан: 9 June 2018 21:58
0
ответов

std :: make_unique вызывает большое замедление?

Недавно я начал модернизировать свою кодовую базу C ++, используя C ++ 14 вместо C ++ 11. После замены единственного вхождения std :: unique_ptr.reset (new ...) на std :: make_unique из C ++ 14 я понял ...
вопрос задан: 13 April 2018 13:47
0
ответов

объявление странного указателя в C ++ [закрыто]

Я прочитал один код с объявлением следующим образом: char * a = (char *) b Но я не совсем понимаю связь между a и b и ее целью. Может ли кто-нибудь дать мне лучшее понимание?
вопрос задан: 13 April 2018 02:31
0
ответов

подробности о std :: make_index_sequence и std :: index_sequence

Я наслаждаюсь наращиванием вариадических шаблонов и начал возиться с этой новой функцией. Я пытаюсь разобраться в деталях реализации std :: index_sequence (используется для ...
вопрос задан: 5 April 2018 12:46
0
ответов

В C ++ 14, в какой области объявляются перечислители с незаданной областью для объявленных перечислений?

C ++ 14 (точнее, N4296) говорит относительно перечислений в 7.2: 11: каждое имя-перечисление и каждый перечислитель с незаданной областью объявляются в области видимости, которая сразу же содержит спецификатор-перечисления. В настоящее время ...
вопрос задан: 23 November 2017 21:29
0
ответов

enable_if не работает в Visual Studio при использовании функции constexpr в качестве аргумента

В настоящее время я борюсь с Visual Studio 2017 (компиляция с использованием / std: c ++ последней, если это поможет). Рассматриваемый код просто выбирает специализацию структуры, основанную на результате некоторых шаблонов ...
вопрос задан: 10 September 2017 18:54
0
ответов

Определение того, являются ли целое со знаком и без знака четным или нечетным

У меня есть int m и unsigned int j, и я хочу определить, являются ли они четными или нечетными. В прошлом я использовал if ((int (j) + m)% 2), чтобы поймать, что только один нечетный. Но я ...
вопрос задан: 21 July 2017 12:52
0
ответов

Обязательная ссылка на объект до начала строительства

Хорошо ли определено поведение следующего кода? struct X {int i; }; // тривиальная структура Y: X {Y () {}}; // нетривиальный extern X xobj; int & r1 = xobj.i; // # 1 X xobj; extern Y yobj; Y & ...
вопрос задан: 23 May 2017 12:16
0
ответов

инициализация float из двойных скобок

Почему компилятор (clang, gcc) не предупреждает об сужении преобразований при выполнении этого плавающего a {3.1231231241234123512354123512341235123541235}; float a = {double (3 ....
вопрос задан: 23 May 2017 11:45
0
ответов

Где я могу найти информацию об атрибуте C++ [[deprecated]]

Мне прислали ссылку с описанием атрибута [[deprecated]] в C++11. Это звучит довольно удобно, и я хотел бы получить больше информации об этом - какие компиляторы это поддерживают, полную документацию по...
вопрос задан: 23 May 2017 11:43
0
ответов

Почему [=] можно использовать для изменения переменных-членов в лямбде?

http://coliru.stacked-crooked.com/a/29520ad225ced72d #include struct S {void f () {// auto f0 = [] {++ i; }; // ошибка: 'this' не было захвачено для этой лямбды ...
вопрос задан: 19 March 2017 13:34
0
ответов

Как / где определяется пространство имен C ++ std (ссылка на документацию / стандарт) [закрыто]

Этот вопрос, кажется, задавался много раз прежде, но ответы на этот вопрос - просто какашки или мочи. Я хочу найти источник в официальной документации и стандартах, где эта проблема ...
вопрос задан: 8 January 2017 19:12
0
ответов

Как я могу полиморфно хранить и получать доступ к различным типам из одной иерархии наследования в непрерывной памяти?

Для полиморфизма обычным подходом является использование std :: vector . Однако я должен сам предоставить адреса, то есть самостоятельно управлять памятью, использую ли я std :: unique_ptr <> или ...
вопрос задан: 7 September 2016 17:59
0
ответов

Шаблон для определения размера в байтах различных переменных

Мне нужен универсальный способ определения объема памяти выделенной в данный момент смежной переменной без необходимости создавать тонны шаблонов для каждого из типов. Мне в основном нужен этот шаблон ...
вопрос задан: 26 August 2016 01:06
0
ответов

Когда мне следует использовать автоматическое вычитание типа возврата C ++ 14?

С выпуском GCC 4.8.0 у нас есть компилятор, который поддерживает автоматическое вычитание типа возврата, часть C ++ 14. С -std = c ++ 1y я могу сделать это: auto foo () {// определяется как int return 5; } Мой ...
вопрос задан: 3 January 2016 03:17
0
ответов

Является ли это соответствующим расширением компилятора для обработки стандартных библиотечных функций non-constexpr как constexpr?

gcc без предупреждения компилирует следующий код: #include struct foo {static constexpr double a = std :: cos (3.); статический constexpr double c = std :: exp (3.); статический constexpr двойной ...
вопрос задан: 14 December 2015 16:32
0
ответов

Нет выхода? C ++ 14

Поэтому я пытаюсь выполнить задачу под названием 3n + 1, где я должен сказать, сколько раз программа должна умножить или разделить до n = 1, но я не получаю никакого вывода из программы. Пожалуйста помоги? постскриптум Я ...
вопрос задан: 25 September 2015 00:33
0
ответов

Почему std :: алгоритмы не являются constexpr и какие могут быть?

Почему нет методов std :: алгоритма constexpr? Если я правильно понимаю новые правила C ++ 14, многие из этих методов могут быть constexpr. Например, почему std :: find не может быть constexpr? статический ...
вопрос задан: 4 September 2015 12:17
0
ответов

Спецификатор 'final' добавляет накладные расходы?

Добавляет ли использование спецификатора final класс или функция какую-либо дополнительную нагрузку на память или процессор или она используется только во время компиляции? И как std :: is_final распознает, что является окончательным?
вопрос задан: 12 August 2015 14:12
0
ответов

Лямбда-захват как постоянная ссылка?

Можно ли захватить константной ссылкой в ​​лямбда-выражении? Я хочу, чтобы назначение, отмеченное ниже, не выполнялось, например: #include < cstdlib > #include < vector > #include < string > ...
вопрос задан: 10 August 2015 11:15
0
ответов

SFINAE и частичные шаблоны классов

Я уже давно использую подходы, основанные на SFINAE, особенно для включения / отключения определенных специализаций шаблонов классов через std :: enable_if. Таким образом, я был немного озадачен, читая ...
вопрос задан: 5 June 2015 22:38
0
ответов

Что значит для объекта существовать в C ++?

[class.dtor] / 15 читает, выделение мое: как только деструктор вызывается для объекта, объект больше не существует; поведение не определено, если деструктор вызывается для объекта, время жизни которого ...
вопрос задан: 19 May 2015 02:00
0
ответов

Размещение нового в std :: align_storage?

Предположим, у меня есть параметр шаблона типа T. И предположим, что у меня есть std :: align_storage следующим образом: typename std :: align_storage < sizeof (T), alignof (T) > :: type storage; Я хочу разместить новый ...
вопрос задан: 28 January 2015 08:33
0
ответов

Получить функцию арности из параметра шаблона

Как я могу получить арность произвольного типа функции, используемого в качестве параметра шаблона? Функция может быть нормальной функцией, лямбда или функтором. Пример: шаблон std :: size_t ...
вопрос задан: 9 January 2015 18:28
0
ответов

Почему символ пробела не был выбран для C ++ 14-значных разделителей?

Начиная с C ++ 14, благодаря n3781 (который сам по себе не отвечает на этот вопрос) мы можем написать код, подобный следующему: const int x = 1'234; // одна тысяча двести тридцать четыре Цель состоит в том, чтобы ...
вопрос задан: 4 January 2015 16:52
0
ответов

Зачем использовать std :: forward для контейнера перед доступом к элементу?

Скотт Мейерс в своей новой книге «Effective Modern C ++» показывает следующую функцию в качестве примера использования decltype (auto) (стр. 28): template <имя-контейнера, индекс-имя-типа> decltype (авто) ...
вопрос задан: 15 December 2014 16:49
0
ответов

C ++ (14) и ручное управление памятью

Я только что получил комментарий, как проблема в ручном управлении памятью. удаление не имеет места в пользовательском коде, а с C ++ 14 и не имеет нового. Может кто-нибудь объяснить, почему?
вопрос задан: 7 March 2014 18:01
0
ответов

Вывод типа возврата для функций-друзей в классе

Вот небольшой эксперимент с выводом возвращаемого типа для функций-друзей в классе (с использованием Clang 3.4 SVN и g ++ 4.8.1 с std = c ++ 1y в обоих случаях), который не задокументирован в связанном рабочем документе ...
вопрос задан: 11 October 2013 07:06
0
ответов

Сортировка нетипичного шаблона параметров пакета в C ++ 11 или C ++ 1y?

В C ++ 11 и / или C ++ 1y: предположим, мне дан шаблон с нетиповым параметром pack: template void f (); И я пишу другой шаблон, который будет создавать его: template
вопрос задан: 6 October 2013 13:25
0
ответов

Clang > = 3.3 в режиме c ++ 1y не может проанализировать < cstdio > заголовок

У меня есть проект, который правильно компилируется и работает под g ++ 4.8.1 и clang> = 3.3 в режиме c ++ 11. Однако, когда я переключаюсь в экспериментальный режим -std = c ++ 1y, clang 3.3 (но не g ++) заглушает < ...
вопрос задан: 21 July 2013 19:53