Вопросы по теме 'injected-class-name'

Поиск имени базового класса после наследования конструктора
Рассмотрим следующий код: struct base {}; struct derived : public base { using base::base; base foo() const; // how does name lookup on 'base' here work? }; Интуитивно понятно, что этот код корректен и компилируется (проверено с...
138 просмотров

Почему имя введенного класса иногда не рассматривается как имя шаблона в шаблоне класса?
Источник В следующих случаях имя внедренного класса рассматривается как имя шаблона самого шаблона класса: за ним следует ‹ он используется в качестве аргумента шаблона, который соответствует параметру шаблона шаблона это последний...
155 просмотров

Что происходит, когда происходит Injected-Class-Name? (С++)
Согласно https://en.cppreference.com/w/cpp/language/injected-class-name В области класса имя текущего класса обрабатывается так, как если бы оно было общедоступным именем члена; это называется имя-внедренного-класса. Точка объявления имени...
86 просмотров

Можно ли использовать введенное имя класса в качестве имени типа в объявлении друга?
Рассмотрим этот код: template <typename T> class Singleton { }; class Logger : public Singleton<Logger> { friend class Singleton; }; Он компилируется в gcc и clang, но действителен ли он? [temp.local].1 говорит: Когда он...
132 просмотров