Описание тега c++14
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 () был вызван". Это из-за исключения броска деструктора? Я знаю, что исключение из деструктора приводит к неопределенному поведению, но есть и контраргументы. и более того, эта же программа работает правил…
09 апр '18 в 19:50
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п…
19 фев '17 в 22:34
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