traits相关内容

Scala的MapLike,ListLike,SeqLike等,它们如何与Map,List,Seq比较?

有人可以帮助我理解Scala在集合API中的各种“Like”特性。我一直在阅读,并试图比较每一个没有运气。我想我可以看到Map为例,扩展了MapLike - 添加了2个具体方法。但这提出了为什么这样做的问题?为什么不在Collection API而不是Map和MapLike中有1个Map trait? 谢谢! 解决方案 这些细节的最佳来源是 ..
发布时间:2016-12-15 20:23:53 其他开发

使用trait绑定动态创建类

因此,我创建了一些traits来使用,例如:tItem_Epic,我想要使用我的项目中的traits,并且对于多个inheriance我想使用traits。 tItem_Weapon,Item_Driver 当我为Sword创建新类时,我认为我可以使用eval创建类: ..
发布时间:2016-11-23 15:00:28 PHP

铁锈矢量的性状:铸造每个性状

我有一个问题,将一个traits的向量投射到不同traits的向量中。 使用类型转换数组/向量在Rust ,我基本上尝试以下: trait ParentTrait {} trait ChildTrait:ParentTrait {} fn main(){ let mut children: Vec> = vec![]; let ..
发布时间:2016-11-14 00:20:21 其他开发

clone_ptr问题,我需要使用库的函数而不是新的来创建一个复制对象

我对C ++中的模板有点新,所以原谅我如果这个问题是混乱或愚蠢的,我只是有一个问题,我想实现一个克隆智能指针,所以我不必为每个创建复制构造函数,每个使用我的底层XML库的类,只是似乎使用对象指针,而不是智能指针。问题是,我的traits需要使用基础库中的函数创建新对象,我不知道我将如何在模板/ traits类中这样做。我已经张贴了所有的代码,下面有一些意见,如果有人可以建议,我会很感激。 如 ..
发布时间:2016-10-30 02:31:15 C/C++开发

键入别名和不完整类型

我可能已经到达这里来解决应该是一个简单的问题。我在这里开始这个问题: 在编译时获取基类的类型 基本上我想让类管理它自己的指针类型。我包装一个C库,其中一些结构有参考计数嵌入在他们,其他人不。那些没有,我想使用shared_ptr。那些做,我想使用intrusive_ptr。我想避免依靠程序员智能来确保使用正确的包装器。最后,我想添加更多的依赖于这种行为的功能,但我还没有。 @Yakk ..
发布时间:2016-10-28 03:07:57 C/C++开发

限制访问功能

我有一个泛型类有一个函数,我想限制在浮点类型的实例在编译时。如下例所示: 模板 class ClassName { //实例变量等。 void some_method() { // do stuff,but只适用于浮点类型 } } 拒绝使用some_method作为非浮点类型的ClassName? 我一直在查看SFI ..
发布时间:2016-10-28 02:00:48 C/C++开发

键入字符串的trait

是否存在(在标准库或Boost中)类型trait以测试类型是否可以表示一个字符串? Boost.Fusion: auto number = fusion :: make_vector(1,“one”); auto numberName = fusion :: filter(number); assert(numberName == fusio ..
发布时间:2016-10-28 00:59:56 C/C++开发

组成:使用traits避免转发功能?

假设我们有两个类, A 和 B 。当使用组合来建模“has-a”或“is-implemented-in-terms-of”关系(例如 B has-a A ),缺点与继承之一是 B 不包含它需要的 A 的公共功能。为了访问 A 的公共函数,有必要提供转发功能(与继承相反, B 将继承所有 A 的公共函数)。 为了给出一个更具体的例子,有人,其中有 ContactInfo : 使用name ..
发布时间:2016-10-26 23:41:17 C/C++开发

如何从C ++模板中的方法类型推导类类型?

在如下所示的模板中,我想调用 Run(& Base :: foo)成功,而不需要将Base类型命名两次在编译 Run(& Base :: foo)调用中)。我可以有吗?可能没有添加大量的 Boost 标头? 使用提供的代码,我得到一个错误: prog.cpp:26:错误:没有匹配的函数调用' (Base :: *)())' (你可以使用 http://i ..
发布时间:2016-10-14 22:09:52 C/C++开发