Описание тега implicit-instantiation
В языке C++ неявное создание экземпляра - это процесс создания класса или функции из шаблона класса или шаблона функции, когда этот конкретный тип не был создан явно.
1
ответ
Шаблон функции с неиспользуемым параметром шаблона
template<typename T> struct a { using type = int; typename T::type i; }; template<typename T, typename = a<T>> void f1(T) {} template<typename T, typename = typename a<T>::type> void f2(T) {} int main() { f1<int>(…
15 июн '18 в 10:21
1
ответ
Является ли специализация неявно созданной, если она уже была неявно создана?
Вопрос в названии достаточно понятен. Чтобы быть более конкретным, рассмотрим следующий пример: #include <type_traits> template <typename T> struct is_complete_helper { template <typename U> static auto test(U*) -> std::integral…
06 сен '18 в 09:39
1
ответ
Вызывает ли `использование` в шаблонном классе создание экземпляра?
Этот вопрос заключается в том, как использовать инициализацию глобальной переменной для достижения некоторого побочного эффекта перед main() выполняется (например, регистрация фабричного класса перед main()). Это может быть сложно, когда задействова…
08 фев '20 в 06:43
1
ответ
Создает ли неявное создание экземпляра шаблона функции «используется как параметр шаблона, не являющийся типом»?
Я хочу написать шаблон класса Mкоторый принимает неполный тип в качестве параметра шаблона. Но я тоже хочу C имеет некоторые черты, когда он в конечном итоге будет определен. Гарантирован ли этот код для компиляции, если определено (FLAG), и не выпо…
25 май '21 в 12:20
1
ответ
Является ли использование в неиспользуемом инициализаторе члена по умолчанию все еще использованием odr?
Является ли использование в инициализаторе элемента по умолчанию по-прежнему odr-использованием, даже если инициализатор члена по умолчанию не используется каким-либо конструктором? Например, является ли эта программа неправильной, потому что g<A…
09 мар '22 в 11:36