Запитання з тегом «dependent-name»

6
Де і чому я повинен розміщувати ключові слова "шаблон" та "ім'я типу"?
У шаблонах, де і чому я повинен ставити typenameі templateзалежні імена? Які саме залежні імена все-таки є? У мене є такий код: template <typename T, typename Tail> // Tail will be a UnionNode too. struct UnionNode : public Tail { // ... template<typename U> struct inUnion { // Q: where …

2
Чому ця функція шаблону не веде себе так, як очікувалося?
Я читав про функції шаблону і заплутався у цій проблемі: #include <iostream> void f(int) { std::cout << "f(int)\n"; } template<typename T> void g(T val) { std::cout << typeid(val).name() << " "; f(val); } void f(double) { std::cout << "f(double)\n"; } template void g<double>(double); int main() { f(1.0); // f(double) f(1); …

3
Чому в наступному випадку не потрібно використовувати назви типу для залежних типів?
Я читав про видалення посилання на тип тут . Він наводить такий приклад: #include <iostream> // std::cout #include <type_traits> // std::is_same template<class T1, class T2> void print_is_same() { std::cout << std::is_same<T1, T2>() << '\n'; } int main() { std::cout << std::boolalpha; print_is_same<int, int>(); print_is_same<int, int &>(); print_is_same<int, int &&>(); print_is_same<int, …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.