< 返回版块

vSylva 发表于 2023-11-28 17:28

评论区

写评论
itfanr 2023-11-29 08:38

有意思

作者 vSylva 2023-11-28 21:42

trait里也可以写 有趣呀

--
👇
binarray: 这个 Associated Constants 写在 trait 里面的时候,会有明显意义上的改变。你可以参考 windows-rs 里面 COM 接口的实现,我记得以前是用了这个特性。

我自己实现的 COM 接口也用了这个功能,印象中还挺复杂的,需要研究一会。

作者 vSylva 2023-11-28 21:35

蛮精细诶 哈哈哈哈哈

没想到看 reference book

--
👇
苦瓜小仔: 想知道某个东西叫什么,首先去 Reference book 查。

首先,这不是结构体内,而是 Inherent Implementations 内。

其次,它的真正名称叫 Associated Constants

最后,“const eval workaround”我是第一次听,但看起来实际上是想要 const Default trait 的一种做法。

作者 vSylva 2023-11-28 21:28

是蛮像命名空间的

--
👇
binarray: 哈哈,我刚才也去翻了下参考文档。以前写程序时候从来没关心过这东西叫什么。写在结构体的 impl 里面就是希望结构体的名字充当一个命名空间的作用。

我觉得这些特性的名字,只是方便找资料和交流用。

真正有意义的是这些语言特性的行为。

你可以给这些特性起一大堆武侠小说一样的玄幻名字,只要你知道自己的程序在干嘛,都无所谓的。

苦瓜小仔 2023-11-28 20:28

想知道某个东西叫什么,首先去 Reference book 查。

首先,这不是结构体内,而是 Inherent Implementations 内。

其次,它的真正名称叫 Associated Constants

最后,“const eval workaround”我是第一次听,但看起来实际上是想要 const Default trait 的一种做法。

作者 vSylva 2023-11-28 20:20

知道default trait

今天才知道在结构体里还可以写const

--
👇
freewong: 看上去你需要的是实现 Default Trait

freewong 2023-11-28 19:40

看上去你需要的是实现 Default Trait

1 共 7 条评论, 1 页