04 2025 档案
摘要:学习到这里我也很高兴! 这意味着,马上就要看完<<The rust programming Language>>。 基本上每天花费一些时间,前后大概耗费了半年左右的时间,速度实在不是很理想,年纪大了! 考虑还需要做不少的练习,大概编写了119个rs文件(当然大部分内容来自于书本),速度还将就。 但说
阅读全文
摘要:毫无疑问,宏是rust中极其重要的存在,只要我们看看一些标准库的代码。本文阐述rust宏相关的若干问题 一、宏的定义和作用 先介绍下宏的起源和历史,以便读者更能体会。 以下内容来自文心一言生成: 词源与早期含义 希腊-拉丁词根 "macro"源于希腊语前缀μακρο-(makro-),意为“大”或“
阅读全文
摘要:函数指针是一个好东西。 一、简述 函数指针就是执行一段函数代码的指针。 根据官方的说法,函数指针实现了FnOnce,FnMut,Fn特质。 由于函数指针是一种数据类型,所以rustc允许它作为函数/方法的参数,这样就给程序设计添加了不少的灵活性. 我估摸着,rust设计者就是为了让rust能够适应潮
阅读全文
摘要:DST(dynamic size type)-中译“动态大小类型"。本文简要讨论动态大小类型的一些问题。 一、前言 rust作为一门静态类型语言,和大部分其它静态类型语言(C,C++,C#,JAVA)一样,希望在编译的时候知道每个实例/类型的大小。 作为静态类型语言,优点是毋庸置疑的的: 1.类型错
阅读全文
摘要:neverType是rust别出心裁,与众不同的再一次佐证. 当我看完有关资料的第一感觉就是:rust真操蛋,永不类型就是一个标记而已,有时候有用,而有时候就是一个干扰(实为不习惯)! 一、前言 rust的永不类型,已经明显表达其意图:永不继续 它的标识符号是一个感叹号 ! 二、示例1 闲话少叙,直
阅读全文
摘要:这两个内容都比较容易理解。 一、新类型(newtype)模式 注意,这里说的是一种编程模式,不是说有一个叫newtype的类型。 这种编程模式的含义:为某个类型作个封装,构建一个新的类型,以便绕过某些束缚,从而达成特定目的。 目的如下: a.用于抽象掉一些类型的实现细节 b.可以隐藏其内部的泛型类型
阅读全文
摘要:回忆下孤儿规则: 1.只有当一个trait或类型在当前的crate中定义时,才能为外部类型实现该trait。 没有限定是特质还是类型 反过来,如果特质和类型都是外部,那么不能在当前单元包实现 2.例外情况-std中特质是例外。大体验证了凡事都有例外 孤儿规则的目的:避免编译器无法确定应该用哪一个实现
阅读全文