Вопросы по теме 'template-aliases'

Как написать руководство по дедукции для псевдонимов агрегатных шаблонов?
С помощью C ++ 20 можно создать рекомендации по дедукции для шаблона псевдонима (см. Раздел «Вычисление для шаблонов псевдонимов» по ​​адресу https://en.cppreference.com/w/cpp/language/class_template_argument_deduction ). Тем не менее, я не мог...
213 просмотров

Использование boost :: shared_ptr с целью его замены позже
Я работаю над кроссплатформенным кодом, которому нужны общие указатели. По независящим от меня причинам мы пока не можем использовать C ++ 11. Итак, я предложил использовать boost :: shared_ptr. Когда мы действительно примем C ++ 11 (может быть,...
258 просмотров
schedule 19.03.2022

Параметр шаблона шаблона и псевдоним шаблона: ошибка компилятора?
У меня проблема со следующим типичным примером кода: template<int I> struct X {}; template<int I> struct Y {}; template<int I> struct XX: X<I> {}; template<int I> struct YY: Y<I> {};...
50 просмотров

Почему шаблон псевдонима дает противоречивую декларацию?
Порт некоторого кода C++11 из Clang в g++ template<class T> using value_t = typename T::value_type; template<class> struct S { using value_type = int; static value_type const C = 0; }; template<class T>...
2409 просмотров
schedule 04.08.2022

Какую проблему решил новый синтаксис using для определений типов шаблонов?
В С++ 11 вы можете создать «псевдоним типа», выполнив что-то вроде template <typename T> using stringpair = std::pair<std::string, T>; Но это отклонение от того, что вы ожидаете от определения типа шаблона: template...
545 просмотров

Расширение пакета для шаблона псевдонима
Кажется, что аргумент пакета может быть расширен только вместо параметра пакета шаблона псевдонима. Это неверно для класса или шаблона функции: template <class T, class... Args> struct x { using type = T; }; template <class T,...
2687 просмотров

Шаблон псевдонима, частичная специализация и недопустимый тип параметра void
Рассмотрим следующий код: template<typename F> struct S; template<typename Ret, typename... Args> struct S<Ret(Args...)> { }; template<typename... Args> using Alias = S<void(Args...)>; int main() {...
336 просмотров
schedule 25.06.2023

Как имитировать руководства по дедукции для псевдонимов шаблонов?
Учтите следующее: template <typename T, std::size_t N> struct my_array { T values[N]; }; Мы можем предоставить инструкции по вычету для my_array , например template <typename ... Ts> my_array (Ts ...) ->...
626 просмотров

Почему я не могу объявлять псевдонимы шаблонных типов внутри функций?
Почему я не могу объявить псевдоним шаблонного типа внутри функции? #include <vector> int main(){ //type alias deceleration: template <typename T> using type = std::vector<T>; //type instantiation:...
1444 просмотров