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

2 ответа

специализация шаблона функции c ++ для массива с определенным размером

Пожалуйста, рассмотрите следующий код: #include <iostream> #include <typeinfo> template< typename Type > void func( Type var ) { std::cout << __FUNCTION__ << ": var = " << var << " [" << typeid( var ).name( ) << "]." << std::endl; std::cout << ...

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 ...

1 ответ

метафункция шаблона для определения специализаций шаблона

Вдохновленныйэтот вопросяИнтересно, есть ли какая-то проверка во время компиляции, которую можно ввести, чтобы обнаружить, есть ли два заданных экземпляра ша...

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

2 ответа

Специализация шаблона функции-члена после ошибки создания экземпляра и порядок функций-членов

Следующий бит кода не скомпилируется на gcc 4.5.3 struct Frobnigator { template<typename T> void foo(); template<typename T> void bar(); }; template<typename T> void Frobnigator::bar() { } template<typename T> void Frobnigator::foo() { bar<T>(); ...

2 ответа

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

я есть шаблонная функция, которую я хочу специализироватьfoo вconst char[N] (жестко закодированные строки) template<typename T> const std::string foo() ; template<typename T,int N> const std::string foo<T[N]>() { return "T[N]"; } //this doesn't ...

1 ответ

метафункция шаблона для определения специализаций шаблона

Вдохновленэтот вопрос [https://stackoverflow.com/q/14227983/170521]Мне интересно, есть ли какая-то проверка во время компиляции, которую можно ввести, чтобы определить, есть ли два заданных экземпляра шаблона: template <typename T> class ...

5 ответов

Хорошо, я вижу. Наследование от std :: iterator предназначено только для типографских целей ... не важно. Реальный ответ, вероятно, будет включать в себя некоторые типографские работы в конце концов.

ли специализировать параметр шаблона Iterator по егоvalue_type? У меня есть функция со следующим прототипом. template<typename InputIterator> void f(InputIterator first, InputIterator last);И я хочу справиться специально, ...

2 ответа

частичная специализация с зависимым именем (typename)

У меня есть следующие простыеstrinToTypeImpl функция, которая преобразует любой тип строки в тип шаблона. Проблема, которая меня беспокоит, заключается в том, что компилятор говорит мне о частичной специализации дляtypename MyMatrix<T>::Vector3 ...

4 ответа

Вы можете создать базовый класс, в котором вы можете определить всех своих членов, кроме bar (), а затем создать производные классы (один для общего назначения, другой для SomeType):

тоящее время я занимаюсь рефакторингом некоторого кода, который явно специализирует функцию-член шаблона класса с двумя параметрами шаблона. template <class S, class T> class Foo { void bar(); }; template <class S, class T> void Foo<S, T>::bar() ...

4 ответа

скрыть шаблон функции, объявить специализации

Это продолжение кШаблоны C ++: предотвращение создания базового шаблона [https://stackoverflow.com/questions/2050900/c-templates-prevent-instantiation-of-base-template] Я использую шаблоны для достижения перегрузки функций без путаницы ...