12 2024 档案

摘要:一、前言 智能指针为什么称为智能指针? 大概因为它所包含的额外功能。 这些额外的功能使得编码或者运行时让指针看起来更有效、并体现某些“智”的特征,所以,我猜测这应该是rust发明人这么称呼此类对象为智能的原因。 据前面有关章节所述,我们知道智能指针多基于结构体(struct)扩展实现。 我们知道,s 阅读全文
posted @ 2024-12-31 17:33 正在战斗中 阅读(42) 评论(0) 推荐(0) 编辑
摘要:Box 原意是盒子,实际生活是作为容器使用。 Rust没有称为Container,而是称为Box,体现了他们一贯的随意性。 不过Box这个词汇倒是可以反映盒子指针的特点:就是一个容器,没有什么特别的。 一、盒子指针定义 #[lang = "owned_box"] #[fundamental] #[s 阅读全文
posted @ 2024-12-28 09:52 正在战斗中 阅读(92) 评论(0) 推荐(0) 编辑
摘要:本文没有什么需要特别详细阐述的内容,基本都是一些基础性的概念和一些空洞的定义。 一、基本概念 指针 -拥有一个指向一个堆数据的地址的变量。本身是变量,但其数据就是一个地址。 智能指针-一种特别的指针(也是变量),除了指向数据的地址,通常还具有元数据和其它功能。 智能指针通常使用结构体实现。智能指针不 阅读全文
posted @ 2024-12-27 14:50 正在战斗中 阅读(36) 评论(0) 推荐(0) 编辑
摘要:和大部分语言一样,cargo也可以创建一个工作空间,以便可以包含多个二进制单元和库单元,从而构建较为复杂的工程。 构建这样一个空间空间主要依赖两个手段:Cargo.toml和单元之间的目录结构 从效果上看,rust的Cargo在工作空间上的管理和maven大体相似,但是还不如maven那么的人性化。 阅读全文
posted @ 2024-12-15 11:39 正在战斗中 阅读(149) 评论(0) 推荐(0) 编辑
摘要:本文简要介绍如何编译和发布单元包(crate)。 很可惜的是,找了一会,没有发现可以发布到除了Crates.io之外的地方。 可能是我没有找到,也可能仅仅是因为我本人仅是初学者。希望国内的大学和其它机构能够创建那么一个国内的库,避免哪天封禁后,无处可去。 本文对应相关书籍的第十四章节的第1,2子章节 阅读全文
posted @ 2024-12-12 20:29 正在战斗中 阅读(46) 评论(0) 推荐(0) 编辑
摘要:Iterator(迭代器)是一个比较常见的概念,大部分语言都有。大部分语言实现迭代器的逻辑并没有特别的。 看完了有关内容,作者的意思是:rust的迭代器和匿名函数一样,都是为了提供时下流行的函数式编程。 此二者为rust实现零成本抽象提供了不少的贡献。 本部分概念比较多,如果是编程初学者可能会有点吃 阅读全文
posted @ 2024-12-10 19:14 正在战斗中 阅读(79) 评论(0) 推荐(1) 编辑
摘要:在编译后,所谓的闭包是编译为单独的函数,所以原文的作者也把closure称为函数。 因此,本文也称为函数。这个更好理解的一个概念。 一、概念 在某个程序体内定义的一段代码,具有参数(可选)和程序体,但不具有名称,实现函数作用,这样的代码称为匿名函数(closure)。 匿名函数这个东西,现在各个语言 阅读全文
posted @ 2024-12-08 13:11 正在战斗中 阅读(80) 评论(0) 推荐(0) 编辑
摘要:我们相当部分的应用还是老式的单体程序,我还是很满意的,毕竟已经能够满足了有关要求,又减轻了各方的压力。 虽然国产化在推进,但是部分客户还是在使用windows服务器,无论是政府还是私营的。 说实话,windows是一个不错的平台,我们公司的OA系统如果不是为了维护,可以几年都不动,运行得好好的,实在 阅读全文
posted @ 2024-12-03 19:22 正在战斗中 阅读(27) 评论(0) 推荐(0) 编辑
摘要:本文内容,基本同原书本,只是稍作了一些改动: 可以输入 --help展示用法 如果文件超过1MB,则会采用逐行查找的方法,避免内存不足 整个程序包含个文件:main.rs,lib.rs 一、代码 闲话少叙,直接上代码。 main.rs /** * 完全模仿书本的例子 * * 运行示例 * cargo 阅读全文
posted @ 2024-12-03 18:06 正在战斗中 阅读(31) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示