Вопросы по теме 'typename'

Какова цель имени типа в С++
Возможный дубликат: Официально, для чего предназначено имя типа? Когда я использую template <typename TMap> typename TMap::referent_type * func(TMap & map, typename TMap::key_type key) { ... } какова цель двух "имен"...
426 просмотров
schedule 21.05.2022

шаблоны С++ без имени типа или класса
я привык писать такие шаблоны: template<typename T> void someFunction(SomeClass<T> argument); однако - сейчас я столкнулся с шаблонами в другой теме, написанными так: template<U> void someFunction(SomeClass<U>...
5806 просмотров
schedule 06.11.2022

Итератор имени типа шаблона C++
Рассмотрим следующий заголовочный файл: template <typename T> struct tNode { T Data; //the data contained within this node list<tNode<T>*> SubNodes; //a list of tNodes pointers under this tNode...
71537 просмотров
schedule 08.04.2023

Утилита итератора класса C++: определение и использование
У меня есть класс с именем A , и в этом классе у меня есть итерируемый контейнер, который я повторяю, следуя некоторым правилам доступа — порядок, пустота и другие. Чтобы упростить следующий пример, давайте представим, что я просто просматриваю...
364 просмотров
schedule 24.09.2022

Что такое идиома template ‹typename T, T t›?
Я читал это и пытался понять, о чем был N3601 . Он сказал, что эта идиома часто встречается при поиске в Интернете, но я ничего не нашел. Что template<typename T, T t> идиома, что это решает, как это используется, что такое неявные...
5338 просмотров
schedule 11.08.2022

Ошибка параметра шаблона скрытого шаблона
Я пытаюсь создать функцию, которая получает ключи от std::map или std::unordered_map . Я мог бы использовать простую перегрузку, но сначала мне хотелось бы узнать, что не так с этим кодом. template<typename K, typename V,...
1753 просмотров
schedule 02.02.2023

C ++ - значение оператора, объединяющего typedef и typename
В заголовочном файле C ++ я вижу этот код: typedef typename _Mybase::value_type value_type; Теперь, как я понимаю, цитирую « Полный справочник по C ++ » Шильдта. typename можно заменить ключевым словом class, второе использование typename...
45024 просмотров
schedule 27.10.2022

typename vector‹T›::iterator не распознается компилятором
Теперь у меня есть метод шаблона, подобный этому: template<typename T> void f(typename vector<T>::iterator it) { //implemenation ... } int main() { vector<int> v; //initialization of v; ... f(v.begin()); return 0; } Но...
603 просмотров
schedule 23.01.2023

С++ type_info как параметр шаблона (имя типа)
Есть ли способ использовать const std::type_info& в качестве параметра шаблона в С++? Например template < typename T > class A { public: A(){} const std::type_info& type() const { return typeid(T); } };...
4516 просмотров
schedule 02.06.2023

Шаблон внутри класса шаблона
У меня есть класс, который выглядит так: template <typename P> class Pack { Public: template <typename X> Private: Other T <other> }; Я хочу написать функцию вне класса, но у меня возникают...
465 просмотров
schedule 31.05.2022

Почему параметр шаблона шаблона не допускает "typename" после списка параметров
Тип шаблона шаблона? При использовании синтаксиса шаблона шаблона , как в template <template <typename> class T> , необходимо использовать ключевое слово class , поскольку использование typename приводит к ошибке в следующих...
3228 просмотров

Действительно ли необходимо средство устранения неоднозначности `typename` в шаблонах классов?
Я уже привык к обязательному использованию typename в шаблонах классов, но не могу не задаться вопросом, действительно ли это необходимо. Этот вопрос задавали раньше здесь, на SO , но я не знал не совсем удовлетворен ответами (как и ОП, если я...
125 просмотров
schedule 26.10.2022

Есть ли способ объявить имя типа для шаблонной функции?
Итак, у меня есть эта шаблонная функция (на которую, я знаю, смотреть некрасиво). Однако я не собирался использовать параметр шаблона по умолчанию, я намеревался создать typename , производный от T , который можно было бы использовать в caster...
121 просмотров

Является ли #define TYPE(x) typename decltype(x) плохой идеей?
Плохо ли определять #define TYPE(x) typename decltype(x) как быстрый способ получить тип члена класса переменной в С++ 11? Обоснование: Рассмотрим следующий (упрощенный) пример: #include <iostream> #define TYPE(x) typename...
803 просмотров
schedule 07.05.2024

Здесь требуется имя типа или нет?
Рассмотрим код: #include <memory> template <class T, class Deleter = std::default_delete<T>> class unique_ptr_wrapper: public std::unique_ptr<T, Deleter> { public: using typename std::unique_ptr<T,...
197 просмотров

Снова о типе имени и ключевых словах шаблона
Я внимательно прочитал много ответов, касающихся этой темы, но, тем не менее, я не могу ТОЧНО понять, когда эти два ключевых слова ЯВЛЯЮТСЯ или НЕ нужны в рамках функции, не являющейся шаблоном, которая является членом вложенного класса шаблона....
391 просмотров
schedule 04.01.2024

Можно ли получить имя типа универсального типа?
У меня есть подпись метода execute<TResult>(): Observable<TResult> Как получить имя типа TResult? Пример: execute<ViewModel> --› ViewModel — это тот результат, который мне нужен.
7215 просмотров

С++ возвращает данные из варианта в соответствии с заданным именем типа
У меня есть следующий шаблон функции для возврата определенного типа данных из VARIANT в соответствии с заданным typename . template <typename T> T VariantGetValue(VARIANT Variant) { std::string S(typeid(T).name()); if (S ==...
1521 просмотров
schedule 07.01.2023

Можно ли заставить функцию возвращать имя типа в С++?
Мой вопрос касается возможности создания функции C++ или аналогичной конструкции для возврата typename (в отличие от объекта/ссылки/указателя некоторого типа, как это обычно бывает). Как показано в приведенном ниже коде, у меня есть общий класс...
131 просмотров

Правильное использование явного создания экземпляра шаблона для функций?
В настоящее время я выполняю упражнение, для которого я должен использовать матрицы шаблонов в качестве параметров во всех своих функциях и принудительно указывать необходимые типы данных в заголовке. Хотя я еще не знаю, как это сделать. Есть...
42 просмотров
schedule 17.11.2023