【发布时间】:2011-11-04 12:55:32
【问题描述】:
我需要了解 Inheritance & virtual functions 在 C++ 中是否真的不需要,并且可以使用 Generic programming 实现一切。这来自Alexander Stepanov,我正在观看的讲座是Alexander Stepanov: STL and Its Design Principles
【问题讨论】:
-
我不明白你的评论。问题是,如果 泛型编程 更强大并且可以实现相同的目标,我们为什么要使用继承。
-
我认为这是一个很好的问题。对问题和安托万都 +1。
-
@KerrekSB 用膝跳反应来驳回问题太容易了,而不是想太多。这是一个很好的问题,值得思考。泛型编程不是原始的,将其比作 goto 与 for 循环根本不公平。
-
我还没有看过 Stepanov 的演讲(虽然我会,总是很高兴听到有人聪明),但这里有一个想法:早在 1994 年,模板几乎不存在,每个人都在跳“面向对象”的潮流(也许是“对象东方快车”?),最终在凌晨 5 点做出“世界需要 Java”的致命决定。因此,毫无疑问,当时人们在滥用和误解面向对象的思想,而 Stepanov 的关键认识是许多编程是“通用的”而不是“多态的”(想想排序)。这无疑是一个非常...
-
...有价值的见解。但仅此一点并不意味着您可以简单地用另一种技术替换一种技术。这只是意味着很多问题可以更好地表达为通用问题而不是多态问题。我们在工具箱中获得了一个非常强大的工具。但这并不意味着我们可以抛弃其他工具。
标签: c++ stl generic-programming