Итератор с шагом
Попытался скомпилировать код итератора с шагом из книги C++ Cookbook By Jeff Cogswell, Christopher Diggins, Ryan Stephens, Jonathan Turkanis. Класс stride_iter должен позволять об…
Попытался скомпилировать код итератора с шагом из книги C++ Cookbook By Jeff Cogswell, Christopher Diggins, Ryan Stephens, Jonathan Turkanis. Класс stride_iter должен позволять об…
#include <iostream> template <typename T, typename U> struct is_same{ const static bool value = false; }; template <typename T> struct is_same<T, T>{ const…
Устал постоянно писать reinterpret_cast с указанием всех спецификаторов (const, volatile). Придумал шаблон. template<typename toT, typename T> static inline auto toType(T va…
Есть такой шаблонный класс c двумя параметрами: template <class T1, class T2> class A { public: void f() { t1 = t2.get(); } T1 result() {return t1;} private: T1 t1; T2 t2; }…
Нужна довольно странная вещь. Имеются вызовы некой шаблонной функции foo<1>(); foo<2>(); foo<5>(); Имея только эти вызовы, нужно каким-то образом получить вектор…
Скажите, пожалуйста, какие правила выведения типов и работы с типами используются в этих шаблонах, в результате чего получается удаление константности? Почему так происходит? #inc…
Внутри шаблонного класса мне нужно создать хеш-таблицу, хранящуюю шаблонную структуру. Но получаю ошибку: main.cpp:23:33: error: template argument 3 is invalid Cache_t <int, in…
хочу написать функцию, которая принимает другую указатель на другую функцию и выводит тип принимаемых параметров. #include <iostream> #include <typeinfo> using namespa…
Я пытаюсь реализовать класс бинарной кучи с ее основными методами, но есть нюанс: с помощью шаблона хочу сделать 2 класса. Если подан false, будет куча, построенная вокруг максиму…
Пытаюсь придумать концепт для ситуации template<typename T, typename C> где C должен быть либо vector<T>, либо array<T,N> с произвольным N. Естественно, is_same …
Вопрос в заголовке. Моих знаний не хватает для ответа на этот вопрос.
https://en.cppreference.com/w/cpp/types/conditional Почему std::conditional_t определён как template<bool B, class T, class F> struct conditional { using type = T; }; templa…
Подскажите, пожалуйста, какую роль здесь играет class = std::string? Если убрать/оставить, то поменяется ли что-то ? template<class T, class = std::string> void fun(T var) {…
Я делаю задание 14 главы 19 из книги "Принципы и практика использования C++" Бьерн Страуструп. Я добавил перегрузку операторов >> и << для вектора типа T. Но…
std::error_category имеет constexpr конструктор, но является абстрактным классом. Следовательно, его потомки не могут быть созданы constexpr. Зачем тогда конструктор error_categor…
Есть ли разница между записью First и Second ? template<class T> void fun(T&& /*var*/) {} // First template<> void fun<int>(int&& var) = delete; …
Как определить тип возвращаемого значения из сигнатуры функции, переданной в параметр шаблона? template <class T> // T хранит сигнатуру функции. <???> someMethod(someP…
Эквивалентны ли следующие записи? И можно ли использовать одно в объявлении, а другое - в определении? void foo(auto x); template<typename T> void foo(T x); Я хочу использов…
У меня есть шаблонный класс и его конструктор. Для обычных классов я пишу объявления в .hpp файле и определения к ним в .cpp файле. На сколько правильным будет делать такой вынос …
Почему данный код работает? Лямбда же возвращает указатель на Derived, а в мапе мы ожидаем функцию, которая возвращает указатель на Interface. struct Interface {}; struct Derived …
Делал одну студенческую работу, вытащил делавшийся в свое время старый класс для работы с полиномами. Сам не люблю простыни, но ужать код оказалось сложно, простите уж... все рабо…
template <int N1> class A { public: template <int N2> int func(); }; template <int N1> template <int N2> int A<N1>::func() { return N1+N2; } //templa…
#include <iostream> using namespace std; struct list { int info; list* next; list* pred; }; list* init() { int x; list* p; list* h = new(list); cout << "Enter ele…
Вопрос в заголовке. Насколько я знаю, эллипсис (то самое ...) не создает новые инстанции (перегрузки) функции, в отличие от шаблонов, где функция в памяти будет дублироваться в за…
У меня есть 2 класса: Матрица и Квадратная матрица. Кв. матрица - наследуется от Матрицы. Но мне нужно сделать так, чтобы эти классы были шаблонными и тут возникла проблема - не п…
Из отладчика вот такую строку не могу прочесть: std::_Bind<void (SpeechRecognizerPlugin:: *(SpeechRecognizerPlugin *))()>::operator()<, void>() void() - тип функции Sp…
Основная проблема в том, что paremeter pack должен быть последним параметром в списке, а до него о Ts ещё ничего не известно. Но и при выносе enable_if за пределы параметров шабло…
Пишу обертку на C++ над Си-шной библиотекой sqlite. Вот есть у меня класс Statement. В нем реализованы методы setParam для int, double, blob, std::string и NULL: void setParam(int…
#include <cstdint> #include <cstddef> #include <type_traits> template <typename T> inline constinit std::type_identity<T> ttag{}; template <typena…
Пытаюсь написать шаблон функции: #include <algorithm> #include <cassert> #include <iterator> #include <iostream> #include <string> using namespace st…