Зачем нужны шаблоны / дженерики? Разве наследования недостаточно?

Я слышал, как много людей говорили, что шаблоны C ++ очень мощные . Я до сих пор не понимаю преимуществ их использования вместо наследования.

И, поскольку я в основном Java-разработчик, подумал, что дженерики и шаблоны были одним и тем же то же самое, но в соответствии с Википедией :

Хотя шаблоны C ++, обобщенные шаблоны Java и обобщенные шаблоны .NET часто считаются похожими, общие шаблоны только имитируют базовое поведение шаблонов C ++.

Я также интересно, не запутывает ли код использование шаблонов, в которых можно было бы просто использовать классы?

5
задан Albus Dumbledore 25 July 2011 в 08:42
поделиться