2010-10-27 7 views

ответ

4

Я думаю, что вы претендуете на CRTP. Также см. here

+0

@Thomson Tan: обратите внимание на @ точку GMan о статическом полиморфизме. Это важный момент. Он обеспечивает имитацию вызовов виртуальных функций из базового класса без накладных расходов на виртуальные функции (если это важно) – Chubsdad

7

Он называется шаблоном Curiously Recurring Template и позволяет использовать статический полиморфизм.

Полезно, если вы хотите добавить функциональность к определенному классу, но хотите, чтобы утилита могла использоваться в общем случае. Если вы используете утилиту и используете параметр шаблона, вы можете добиться того и другого.

 Смежные вопросы

  • Нет связанных вопросов^_^