C++14 - это название стандарта C++, утвержденного в 2014 году. Он основан на предыдущем стандарте C++11, улучшая основной язык и стандартную библиотеку и добавляя некоторые функции.
0 ответов

Динамически загружаемая библиотека и глобальные переменные в C++

Я пытаюсь построить систему, которая использует динамически загружаемые библиотечные файлы (.so файлы) в качестве плагинов в C++14. Я строю проект, используя gcc в сочетании с qt5.5.1 внутри qtcreator.Проблема в том, что я не до конца понимаю, что н…
29 ноя '16 в 00:13
2 ответа

Каков наилучший способ найти позицию последнего вхождения для определенного элемента?

Как то так, но наоборот: int pos = find(v.begin(), v.end(), item) - v.begin();
16 май '15 в 18:25
7 ответов

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

У меня есть int m и unsigned int j и хотите определить, являются ли они оба четными или оба нечетными. В прошлом я использовал if((int(j)+m)%2) чтобы поймать случай, что только один нечетен. Но я обеспокоен кастингом на int неправильно изменяя нечет…
20 июл '17 в 18:36
0 ответов

Один источник из нескольких заголовков

Я пишу решения для codeforces и платформ codechef, и обе требуют отправки одного исходного файла. Я написал несколько заголовков с функциями служебных функций, которые я использую здесь и там в моем решении. Существует ли автоматический инструмент, …
25 апр '16 в 14:30
3 ответа

Почему SFINAE не выбирает перегрузку при получении константных ссылок?

В этом коде struct A {int commmon; int rare;}; struct B {int commmon;}; struct L { template<class T> int f(const T& t) {return t.commmon;} template<class T> int f(T& t) {return t.rare;} }; void func() { A a; B b; L l; l.f(a); l.f…
17 июл '18 в 07:46
3 ответа

Инициализация std::initializer_list

Как я могу инициализировать initializer_list состав неупорядоченных элементов?Например, рассмотрим следующий код: #include <unordered_map> #include <string> using Type = std::unordered_map<std::string, int>; void foo(std::initializ…
15 авг '16 в 19:26
1 ответ

Почему typename не взаимозаменяемо с decltype() для этого использования?

Для данного использования template<typename T1> class node{ public: using sp2node = shared_ptr<node<T1>>; using r_sp2node = shared_ptr<node<T1>>&; public: r_sp2Node getN(); private: sp2node N; }; (1) template<typ…
05 фев '18 в 02:44
1 ответ

SFINAE: удалить функцию с тем же прототипом

Интересно, в чем разница между этим кодом, который работает: #include <type_traits> #include <iostream> template<typename T> using is_ref = std::enable_if_t<std::is_reference_v<T>, bool>; template<typename T> usin…
20 май '18 в 23:41
3 ответа

Программа заканчивается сообщением об ошибке abort() на VS2017

Ниже код выходит из-за ошибки msgstr "abort () был вызван". Это из-за исключения броска деструктора? Я знаю, что исключение из деструктора приводит к неопределенному поведению, но есть и контраргументы. и более того, эта же программа работает правил…
1 ответ

Используя typename с reinterpret_cast()

Как создать имя типа, которое является результатом reinterpret_cast? Например, template<typename T1> class node{ public: using null_sp2node = typename reinterpret_cast<shared_ptr<node<T1>>>(NULL); }; Выше генерируется следующ…
05 фев '18 в 00:26
3 ответа

Использование SFINAE с общими лямбдами

Могут ли общие лямбды воспользоваться правилом "Ошибка замещения - это не ошибка"? пример auto gL = [](auto&& func, auto&& param1, auto&&... params) -> enable_if_t< is_integral< std::decay_t<decltype(param1)> &…
06 июл '15 в 19:17
1 ответ

Шаблонный аргумент и вывод параметров std::function

Предположим, есть функция шаблона foo() который принимает произвольное количество аргументов. Учитывая последний аргумент, всегда std::functionкак мне реализовать foo() шаблон показан ниже таким образом, что CbArgs будет содержать это std::functionп…
1 ответ

Использование псевдонимов локальных классов в списке базовых классов шаблона

В этом коде: template <typename Pair> struct EdgeRange : public std::pair<decltype(valueIter(std::declval<Pair>().first)), decltype(valueIter(std::declval<Pair>().second))> { using EntryFirst = decltype(valueIter(std::declval…
08 май '16 в 23:04
1 ответ

Могу ли я перебрать диапазон ключей std::map, даже если граничные ключи не существуют?

У меня есть std::map<int, object>, Если карта содержит: std::pair<1, obj1> std::pair<3, obj2> std::pair<4, obj3> std::pair<6, obj4> std::pair<8, obj5> std::pair<9, obj6> std::pair<14, obj7> Могу ли я в…
02 окт '16 в 23:39
1 ответ

Какова была цель смелого текста ниже в [class.copy]/12 на C++14?

[class.copy]/12 в C++14: Конструктор копирования / перемещения для класса X тривиален, если он не предоставлен пользователем, его список параметров-типов эквивалентен списку параметров-типов неявного объявления, и если (12.1) - класс X не имеет вирт…
19 окт '16 в 12:14
1 ответ

Слияние чисел в большое число

Если у меня есть массив int с элементами {1,2,3,4} и я не хочу добавлять внутри него целые числа, но вместо этого я хочу иметь переменную int, которая содержит первые 3 цифры массива, чтобы она была int x = 123; и 123 - первые 3 элемента {1,2,3} мас…
16 апр '17 в 18:46
0 ответов

Исключения из boost::async() теряют тип

Буст-версия: 1.61, GCC версия 6.2.0, C++14 Исключения внутри boost::async() вызов, кажется, теряет свой тип, в то время как он работает правильно с std::async, Есть ли принципиальная разница между std::async а также boost::async Я скучаю? Следующий …
20 июл '17 в 03:30
2 ответа

Преобразовать функцию шаблона в общую лямбду

Я хотел бы передать шаблонные функции, как если бы они были общими лямбдами, однако это не работает. #include <iostream> #include <vector> #include <tuple> #include <string> #include <utility> // for_each with std::tupl…
19 июл '17 в 10:06
2 ответа

Функция, возвращающая удвоение, когда ожидается долгое

Недавно я ответил на другой вопрос, и в моем ответе был следующий код. template<typename T, typename ... Ts> struct are_arithmetic{ enum { value = std::is_arithmetic<T>::value && are_arithmetic<Ts...>::value }; }; template&…
12 июл '15 в 11:29
2 ответа

Влияние авто на время компиляции

Новое ключевое слово auto, которое мы получили в C++11, выглядит для меня довольно шаблонно, поэтому мой вопрос - повлечет ли это такое же раздувание времени компиляции, как шаблоны? Тот же вопрос в отношении полиморфных лямбд: [](auto val) {...} по…
07 июл '13 в 00:03