Вопросы по теме 'template-aliases'
Как написать руководство по дедукции для псевдонимов агрегатных шаблонов?
С помощью C ++ 20 можно создать рекомендации по дедукции для шаблона псевдонима (см. Раздел «Вычисление для шаблонов псевдонимов» по адресу https://en.cppreference.com/w/cpp/language/class_template_argument_deduction ). Тем не менее, я не мог...
213 просмотров
schedule
07.10.2021
Использование 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 просмотров
schedule
31.05.2022
Почему шаблон псевдонима дает противоречивую декларацию?
Порт некоторого кода 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 просмотров
schedule
29.10.2022
Расширение пакета для шаблона псевдонима
Кажется, что аргумент пакета может быть расширен только вместо параметра пакета шаблона псевдонима. Это неверно для класса или шаблона функции:
template <class T, class... Args> struct x { using type = T; };
template <class T,...
2687 просмотров
schedule
15.05.2023
Шаблон псевдонима, частичная специализация и недопустимый тип параметра 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 просмотров
schedule
18.04.2023
Почему я не могу объявлять псевдонимы шаблонных типов внутри функций?
Почему я не могу объявить псевдоним шаблонного типа внутри функции?
#include <vector>
int main(){
//type alias deceleration:
template <typename T>
using type = std::vector<T>;
//type instantiation:...
1444 просмотров
schedule
27.03.2024