C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 当我们已经有类和接口时,为什么设想概念(通用程式设计)?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
Also on programmers.stackexchange.com

我理解STL的概念必须存在,而实际上只有文档(人类)的概念并不能被翻译成C代码,所以称之为“类”或“接口”是愚蠢的,但是当给予机会扩展语言以适应概念时,为什么他们不简单地修改类和/或引入接口的功能

不是一个非常类似于接口的概念(100%抽象类没有数据)?通过看,它似乎在接口上缺乏对公理的支持,但也许公理可以被引入到C的接口中(虑到C中接口的假设采用接管概念),不可能吗?我认为甚至自动概念可以很容易地添加到这样的C界面(自动接口LessThanComparable,任何人?).

不是一个concept_map非常类似于适配器模式?如果所有方法都是内联的,则适配器本质上不存在于编译时间之外;编译器简单地用内联版本替换对接口的调用,在运行时直接调用目标对象.

我听说过一些名为静态面向对象编程的东西,它基本上意味着有效地重用通用编程中面向对象的概念,从而允许使用大多数OOP的能力,而不会导致执行开销.为什么没有进一步虑这个想法?

我希望这一点很清楚.如果你认为我没有,我可以重写这个;只是让我知道.

解决方法

OOP和泛型编程之间有很大的区别.

在OOP中,当您设计课程时,您会看到您认为有用的界面.完成了

另一方面,在通用编程中,只要类符合给定的一组要求(主要是方法,还有内部常量或类型),那么它符合账单并可能被使用.概念提案是关于形式化这一点,所以在检查方法签名时可能会发生检测,而不是实例化方法体.它还使检查模板方法更容易,因为如果概念不匹配,某些方法可以被拒绝,无需任何实例化.

概念的优点是,您不会受益于PredesTination,您可以从Library1中选择一个类,从Library2中选择一个方法,如果适用,则为黄金(如果没有,则可以使用概念地图).在OO中,您需要每次写一个成熟的适配器.

你是对的,两者似乎相似.差异主要是关于绑定的时间(以及Concept仍然具有静态调度而不是类似于接口的动态调度的事实).概念更加开放,因此更易于使用.

大佬总结

以上是大佬教程为你收集整理的c – 当我们已经有类和接口时,为什么设想概念(通用程式设计)?全部内容,希望文章能够帮你解决c – 当我们已经有类和接口时,为什么设想概念(通用程式设计)?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。