【发布时间】:2011-09-02 06:11:24
【问题描述】:
Also on programmers.stackexchange.com:
我知道 STL 概念必须存在,并且将它们称为“类”或“接口”是愚蠢的,而实际上它们只是记录在案的(人类)概念,无法翻译成 C++ 代码时间,但是当有机会扩展语言以适应概念时,他们为什么不简单地修改类的功能和/或引入接口?
一个概念是不是非常类似于接口(100% 没有数据的抽象类)?通过观察,在我看来,接口只缺乏对公理的支持,但也许公理可以被引入 C++ 的接口中(考虑在 C++ 中假设采用接口来接管概念),不是吗?我认为即使是汽车概念也可以很容易地添加到这样的 C++ 接口中(汽车接口 LessThanComparable,有人吗?)。
concept_map 是不是非常类似于 Adapter 模式?如果所有方法都是内联的,则适配器在编译时间之后基本上不存在;编译器只是用内联版本替换对接口的调用,在运行时直接调用目标对象。
我听说过一种叫做静态面向对象编程的东西,它本质上意味着在泛型编程中有效地重用面向对象的概念,从而允许使用 OOP 的大部分功能而不会产生执行开销。为什么没有进一步考虑这个想法?
我希望这已经足够清楚了。如果您认为我不是,我可以重写它;请告诉我。
【问题讨论】:
-
属于programmers.se ?
-
StackOverflow 不再是关于编程了..?离开很久了。
-
@n2liquid:SO 现在似乎更多地是关于技术客观问题和关于基本原理/设计等的主观讨论通常迁移到 SE。真的不知道为什么:p
-
这对我来说是个新闻。至少 SE 和 SO 一样受欢迎吗?如果不是,我会讨厌 SO/SE >:
-
@n2liquid:当然不是。这就是它如此愚蠢的原因。如果您有一个与编程相关的问题要在此处提出,请继续。可能发生的最糟糕的情况是,人们会因为自己不清楚的原因迁移它。
标签: c++ oop generic-programming c++-concepts