Почему я могу получить из шаблонного / универсального класса на основе этого типа в C # / C ++ - PullRequest
0 голосов
/ 22 апреля 2010

Название, вероятно, не имеет большого смысла, поэтому я начну с некоторого кода:

class Foo : public std::vector<Foo>
{
};

...

Foo f;

f.push_back( Foo() );

Почему это разрешено компилятором? На этой стадии мой мозг тает, поэтому кто-нибудь может объяснить, есть ли причины, по которым вы хотели бы это сделать? К сожалению, я только что видел подобный шаблон в некотором производственном коде на C # и удивлялся, почему кто-то может использовать этот шаблон.

1 Ответ

4 голосов
/ 22 апреля 2010

Кто-нибудь может объяснить, есть ли причины, по которым вы хотели бы это сделать?

Любопытно повторяющийся шаблон .

...