Результаты поиска по запросу "templates"

4 ответа

Если вы можете использовать C ++ 17, тогда вы хотите

аюсь написать функцию, которая может печатать как стек, так и очередь, мой код выглядит следующим образом template<typename Cont> void print_container(Cont& cont){ while(!cont.empty()){ if(std::is_same<Cont, stack<int>>::value){ auto elem = ...

5 ответов

Живой пример

веденном ниже фрагменте кода, template<typename T1> void func(T1& t) { cout << "all" << endl; } template<typename T2> void func(T2 &t) { cout << "float" << endl; } // I do not want this // template<> void func(float &t) int main() { int i; float ...

2 ответа

 оператор для вызова методов.

твует следующая упрощенная структура данных: Object1.h template <class T> class Object1 { private: T a1; T a2; public: T getA1() {return a1;} };Object2.h template <class T> class Object2: public Object1 <T> { private: T b1; T b2; public: T ...

ТОП публикаций

2 ответа

Это был просто пример для FOSUserBundle. Вы можете изменить имена пакетов в зависимости от того, что вы пытаетесь переопределить.

льку наследование комплектов устарело с Symfony 3.4 и будет удалено в 4.0, я нахожу новое решение. У меня есть: заявкаFooBundleBarBundleИ у меня нет проблем с переопределением шаблонов в приложении. Но мне нужно переопределить шаблоны из ...

2 ответа

В компиляторе до C ++ 17 вы можете использовать диспетчеризацию тегов, чтобы получить то, что вам нужно.

отрим следующий код: template<typename T> T foo() { if (std::is_same<T, int>::value) return 5; if (std::is_same<T, std::string>::value) return std::string("bar"); throw std::exception(); }Когда вызывается сfoo<int>()выдает ошибкуcannot ...

1 ответ

И обратите внимание, что это правило, которое самая последняя версия MSVC по-прежнему не применяет даже при установленном стандарте последней.

ал со SFINAE и обнаружил поведение, которое не могу объяснить. Этоткомпилирует нормально [https://ideone.com/HDlWP7]: template<typename Integer, std::enable_if_t<std::is_integral<Integer>::value>* = nullptr> void foo(Integer) {} ...

1 ответ

не

template <class T> class Foo { public: template <class U> void bar(); };Как реализовать панель вне определения класса, при этом все еще имея доступ к обоим параметрам шаблона T и U?

2 ответа

 в качестве ввода, чтобы он работал просто отлично. Время от времени удалитель может быть не идеальным.)

дал общий шаблон удаления, который можно использовать для созданияunique_ptr<>() подтипы, позволяющиеDeleter кроме простоdelete ptr. Он прекрасно работает с флагами оптимизации по умолчанию (т.е.-O0), однако, когда я использую-O3 T & operator * ...

1 ответ

, Войдите в реальность. Поскольку динамическое связывание в настоящее время выходит за рамки C ++ (как и многопоточность), реальные цепочки инструментов, поддерживающие разделяемые библиотеки, должны как-то решить эту проблему, потому что неизвестно, берется ли когда-либо адрес функции в разделяемой библиотеке, которая также может быть загружен только во время выполнения. gcc toolchain решает эту проблему, используя так называемую расплывчатую связь.

я определяю функцию (может быть, функцию-член класса, но не встроенную) в заголовочном файле, который включается двумя различными единицами перевода, я получаю ошибку ссылки, так как эта функция многократно определяется. С шаблонами это не так, ...

1 ответ

ref-квалифицированные функции-члены как аргументы шаблона?

Это хорошо компилируется в Clang 3.3: template <typename T> struct M; template <typename R, typename C, typename... A> struct M <R (C::*)(A...)> { }; template <typename R, typename C, typename... A> struct M <R (C::*)(A...) &> { };но терпит ...