standards - 别名在哪里定义的

标签 standards multiple-inheritance d

在编写 C++ 应用程序时,我需要一个支持接口(interface)的类。在用 MI 实现它之后,我意识到如果我不小心的话,我会引入菱形继承(钻石问题),并且我可能实际上应该继承我的接口(interface),这让我感到很沮丧。此外,实现代码的唯一优雅方式需要dynamic_cast。

关于这一点我想一定有更好的办法。当我记得在 TDPL 中读到有关子类型/别名的内容时。我将基本思想复制到我的类里面。我认为该解决方案更加优雅,但并不传统。

为了先发制人地证明我的代码合理,我希望能够链接到一个描述 D 的此功能的别名的页面。但是我可以在 the website 上找到一个页面。 .

在哪里正式描述了子类型/别名?

最佳答案

http://www.digitalmars.com/d/2.0/class.html#AliasThis

但我认为这可能有点过时了。 IIRC TDPL 描述了每个类有多个别名的可能性。

关于standards - 别名在哪里定义的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6447465/

相关文章:

c++ - postblit 构造函数与复制构造函数仅在源上有所不同吗?

c - 将子进程标准输出重定向到 C 中的管道

webrtc - 为什么在 WebRTC 中选择 DTLS-SRTP?

javascript - JavaScript 中有多少个参数太多了?

python - 如何在 Python 3 中创建具体父类(super class)的抽象子类?

c++ - 多重继承方便吗?

javascript - 条件 Action 逻辑应该去哪里?

带有接口(interface)的 Java 编译错误

d - 如何在 Vibe.D 中迭代 JSON 数组?

phobos(D 的标准库)是否包含字符串类型的 "endsWith"?