Вопросы по теме 'injected-class-name'
Поиск имени базового класса после наследования конструктора
Рассмотрим следующий код:
struct base {};
struct derived : public base {
using base::base;
base foo() const; // how does name lookup on 'base' here work?
};
Интуитивно понятно, что этот код корректен и компилируется (проверено с...
138 просмотров
schedule
31.12.2022
Почему имя введенного класса иногда не рассматривается как имя шаблона в шаблоне класса?
Источник
В следующих случаях имя внедренного класса рассматривается как имя шаблона самого шаблона класса:
за ним следует ‹
он используется в качестве аргумента шаблона, который соответствует параметру шаблона шаблона
это последний...
155 просмотров
schedule
05.02.2023
Что происходит, когда происходит Injected-Class-Name? (С++)
Согласно https://en.cppreference.com/w/cpp/language/injected-class-name
В области класса имя текущего класса обрабатывается так, как если бы оно было общедоступным именем члена; это называется имя-внедренного-класса. Точка объявления имени...
86 просмотров
schedule
29.11.2022
Можно ли использовать введенное имя класса в качестве имени типа в объявлении друга?
Рассмотрим этот код:
template <typename T>
class Singleton
{
};
class Logger : public Singleton<Logger> {
friend class Singleton;
};
Он компилируется в gcc и clang, но действителен ли он? [temp.local].1 говорит:
Когда он...
132 просмотров
schedule
20.03.2023