From dd6240bf9b1f26acf5155890bd436e321a5fb771 Mon Sep 17 00:00:00 2001 From: phipupt <165991544+phipupt@users.noreply.github.com> Date: Sat, 5 Oct 2024 20:12:52 +0800 Subject: [PATCH] phipupt's update 10.05 --- phipupt.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/phipupt.md b/phipupt.md index a7ea203..f18f032 100644 --- a/phipupt.md +++ b/phipupt.md @@ -344,4 +344,26 @@ Cairo提供了全面的测试工具,可以帮助开发者编写可靠的代码: 9. 集成测试的组织:可以使用子模块来组织集成测试 + +### 2024.10.05 + +Cairo 笔记:Cairo 编程语言的一些高级特性: + +1. 自定义数据结构 +- 使用 Felt252Dict 来模拟可变数据结构 +- 实现了自定义的 UserDatabase 和 MemoryVec (动态数组)结构 +- 实现了 Stack(栈)数据结构 + +2. 智能指针 +- Box 类型,用于在 boxed segment 中存储数据 +- Box 可以用来实现递归类型,如二叉树 +- Box 可以提高性能,通过传递指针而不是复制大量数据 + +3. Nullable 类型 +- 用于字典中存储不支持 zero_default 的类型 + +4. 运算符重载 +- 通过实现特定 trait 来重载运算符 +- 给出了 Potion 结构体重载加法运算符的例子 +