2014 dxdy logo

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

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




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

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

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

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


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