当前位置: 首页 > news >正文

模板建网站网站开发九大优势

模板建网站,网站开发九大优势,便宜做网站公司,深圳深圳龙岗网站建设Rust基础拾遗 前言1.所有权与移动1.1 所有权 2.引用3.特型与泛型简介3.1 使用特型3.2 特型对象3.3 泛型函数与类型参数 4.实用工具特型5.闭包 前言 通过Rust程序设计-第二版笔记的形式对Rust相关重点知识进行汇总#xff0c;读者通读此系列文章就可以轻松的把该语言基础捡起来… Rust基础拾遗 前言1.所有权与移动1.1 所有权 2.引用3.特型与泛型简介3.1 使用特型3.2 特型对象3.3 泛型函数与类型参数 4.实用工具特型5.闭包 前言 通过Rust程序设计-第二版笔记的形式对Rust相关重点知识进行汇总读者通读此系列文章就可以轻松的把该语言基础捡起来。 1.所有权与移动 谈及内存管理我们希望编程语言能具备两个特点 希望内存能在我们选定的时机及时释放这使我们能控制程序的内存消耗在对象被释放后我们绝不希望继续使用指向它的指针这是未定义行为会导致崩溃和安全漏洞。 Rust 通过限制程序使用指针的方式出人意料地打破了这种困局。悬空指针、重复释放、使用未初始化的内存等。 Rust 程序中的缺陷不会导致一个线程破坏另一个线程的数据进而在系统中的无关部分引入难以重现的故障。 相关问题 看看所有权在概念层和实现层分别意味着什么 如何在各种场景中跟踪所有权的变化 哪些情况下要改变或打破其中的一些规则以提供更大的灵活性 1.1 所有权 拥有对象意味着可以决定何时释放此对象当销毁拥有者时它拥有的对象也会随之销毁。 变量拥有自己的值当控制流离开声明变量的块时变量就会被丢弃因此它的值也会一起被丢弃。例如 fn print_padovan() {let mut padovan vec![1,1,1]; // 在此分配for i in 3..10 {let next padovan[i-3] padovan[i-2];padovan.push(next);}println!(P(1..10) {:?}, padovan); } // 在此丢弃变量 padovan 的类型为 Veci32。在内存中padovan 的最终值如图所示。 跟C std::string 非常相似不过缓冲区中的元素都是 32 位整数而不是字符。 2.引用 3.特型与泛型 简介 本章展示特型的用法、工作原理以及如何定义你自己的特型。 标准库提供的公共特型。之后的闭包、迭代器、输入 / 输出和并发。特型和泛型在所有这些主题中都扮演着核心角色。 Rust 通过两个相关联的特性来支持多态特型和泛型。 特型是 Rust 体系中的接口或抽象基类。 为什么向类型添加特型不需要额外的内存 如何在不需要虚方法调用开销的情况下使用特型 泛型是 Rust 中多态的另一种形式。 泛型和特型紧密相关泛型函数会在限界中使用特型来阐明它能针对哪些类型的参数进行调用。 3.1 使用特型 特型代表着一种能力即一个类型能做什么。 实现了 std::io::Write 的值能写出一些字节。实现了 std::iter::Iterator 的值能生成一系列值。实现了 std::clone::Clone 的值能在内存中克隆自身。实现了 std::fmt::Debug 的值能用带有 {:?} 格式说明符的 println!() 打印出来。 特型方法类似于虚方法。 3.2 特型对象 在 Rust 中使用特型编写多态代码有两种方法特型对象和泛型。 在 Rust 中引用是显式的 let mut buf: Vecu8 vec![]; let writer: mut dyn Write mut buf; // 正确对特型类型如 writer的引用叫作特型对象。 特型对象的内存布局 在内存中特型对象是一个胖指针由指向值的指针和指向表示该值类型的虚表的指针组成。 C 也有这种运行期类型信息叫作虚表或 vtable。 在 C 中虚表指针或 vptr 是作为结构体的一部分存储的而 Rust 使用的是胖指针方案。结构体本身只包含自己的字段。这样一来每个结构体就可以实现几十个特型而不必包含几十个 vptr 了。甚至连 i32 这样大小不足以容纳 vptr 的类型都可以实现特型。 3.3 泛型函数与类型参数 4.实用工具特型 5.闭包 fn sort_cities(cities: mut VecCity) {cities.sort_by_key(|city| -city.population); }|city| -city.population 就是闭包。它会接受一个参数 city 并返回 -city.population。Rust 会从闭包的使用方式中推断出其参数类型和返回类型。 闭包相关问题 Rust 的闭包与匿名函数有何不同 如何将闭包与标准库方法一起使用 闭包如何“捕获”其作用域内的变量 如何编写自己的以闭包作为参数的函数和方法 何存储闭包供以后用作回调 Rust 闭包是如何实现的以及它们为什么比你预想的要快
http://www.zqtcl.cn/news/235664/

相关文章:

  • 建设企业网站的原因网站开发项目经验和教训
  • 京东网站的建设与发展现状分析手机与pc网站同步模板
  • 枣阳网站建设吧yw最新域名备案查询
  • 西安知名网站建设公司什么网站可以分享wordpress
  • ugc网站开发2022恢复线下教学通知
  • 网站界面尺寸珠海网站建设制作哪家专业
  • 上海闸北城市建设有限公司网站想学设计没有基础怎么办
  • 免费微网站哪个好用在线网页代理浏览免费
  • 广州建设专业网站寻找做项目的网站
  • 湛江网站建设方案服务卖wordpress主题
  • 扬州做网站的网络公司wordpress设置登录背景图片
  • 有哪些好的网站建设移动网站建设解决方案
  • 江苏网站建设公司排名高校门户网站建设问题
  • 网站怎么加关键词视频网站程序
  • 建设网站需要的人员及资金建设一个网站的具体流程
  • 北京长空建设有限公司网站网站开发制作培训学校
  • 哪些网站可以免费做推广呢o2o营销模式
  • 注册网站的流程南京今天的最新消息
  • 做网站的没有进项票怎么办张家口市一建公司官网
  • 建设网站的本质智慧团建手机版
  • 嘉兴网站建设有前途吗沈阳男科医院排名10强名单公布
  • 手机网站变灰17种新型商业模式
  • 图书网站开发需求文档模板做网站现在用什么语言
  • 创建网站主题在哪里接单赚钱平台
  • 企业做网站的流程权威发布新闻的含义
  • 国外大型购物网站桂林视频网站制作
  • 平度那里有做网站的网站设计技术入股
  • 张家港专业做网站网站设计与建设ppt
  • 香奈儿网站设计分析网站建设新闻发布注意事项
  • 建设网站策划南京网站开发建设