首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Rust 日报】2021-09-26 RustConf 2021 项目精选

    “自引用” 类型是一种对自身引用的类型;异步 Features 是当今 Rust 中最常见的自引用类型。但是,它们不能在不使引用无效的情况下移动,因此常被固定在堆或栈上。你不能返回它们或将之放入 Collection(当然了不用 Boxing)。C++ 通过移动构造函数大量使用可安全移动的自引用类型,将移动构造函数桥接到 Rust 是 C++ FFI 未解决的重大问题之一。使用对 Pin P 保证的新颖解释,我们将所有 C++ 构造函数(而不仅仅是移动构造函数)移植到 Rust,而不影响 Rust 的「使用后移动」保护(C++ 所缺乏的)。今天,稳定的 Rust 完全支持按移动返回和集合,除了零成本的 C++ FFI,Rust 的 “构造函数” 还可用于在纯 Rust 中表达新颖的数据结构。

    03

    设计模式之装饰者模式

    在之前的设计模式文章中楼主已经介绍过了,要尽量针对接口编程,而不要针对实现编程。因为这样我们的程序比较方便扩展,又遵循了设计模式的基本原则。既然要针对接口编程,那么势必会创建大量的子类来实现。但有些时候并不是所有的业务都可以通过创建子类就可以实现的,反而通过创建大量子类,而增加了程序的不可扩展性。所以今天楼主分享一下设计模式中另一种模式叫装饰者模式。装饰者模式运用了对象组合的方式,可以做到在运行时动态的装饰类,这也是装饰者模式的由来。那么在介绍装饰者模式之前,我们和其他的设计模式一样,我们先看一个简单的例子。我们将以游戏中角色为例。我们知道在游戏中角色可以使用很多不同的武器,在使用不同的武器时,用户角色的攻击力就会不同,那么下面的例子我们将创建3个不同的武器分别为刀、剑、枪,并为这3个武器分别初始化不同的攻击力。下面为具体的代码。

    02
    领券