Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 Предок, определяемый через потомок. С++
Аватара пользователя
Недавно узнал, что можно делать так:
Код:
template<class T> base{...};                   //базовый класс
class derived : public base<derived> {...};  //производный класс

Интересно, что делает компилятор с этим кодом при создании объекта типа derived? Он сперва создает ту часть derived, которая не наследуется от base, а затем каким-то образом создает по шаблону описание base, потом ухитряется наследовать члены base? Или же умудряется генерировать описание base, не имея под рукой конкретного описания derived?

 Re: Предок, определяемый через потомок. С++
Не вдаваясь в какие-либо объяснения, скажу, что эта радость называется "Curiously recurring template pattern" (CRTP), и побегу дальше.

 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group