上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 80 下一页
摘要: /** 1171. Remove Zero Sum Consecutive Nodes from Linked List https://leetcode.com/problems/remove-zero-sum-consecutive-nodes-from-linked-list/ Given t 阅读全文
posted @ 2021-10-19 18:34 johnny_zhao 阅读(51) 评论(0) 推荐(0)
摘要: /** 190. Reverse Bits https://leetcode.com/problems/reverse-bits/ Reverse bits of a given 32 bits unsigned integer. Note that in some languages, such 阅读全文
posted @ 2021-10-17 11:09 johnny_zhao 阅读(56) 评论(0) 推荐(0)
摘要: 一、Rust的内存管理 采用虚拟内存空间在栈和堆上分配内存,这是诸多编程语言通用的内存管理基石,Rust也是一样。然而,与c/c++语言不同的是,Rust不需要开发者显式地通过malloc/new或free/delete之类的函数去分配和回收堆内存。 栈内存的生命周期是短暂的,会随着栈展开(如函数调 阅读全文
posted @ 2021-10-16 18:18 johnny_zhao 阅读(1671) 评论(0) 推荐(0)
摘要: as_ref是什么? as_ref是转引用函数,将具有所有权对象转换成引用对象,在不改变被转换对象的基础上产生一个引用对象。 as_ref并不是所有类型都默认支持,很多时候都需要自已去声明。是AsRef trait的公共接口方法,只有那些实现了as_ref公共接口方法的类型才能使用as_ref,目前 阅读全文
posted @ 2021-10-12 23:36 johnny_zhao 阅读(4044) 评论(0) 推荐(0)
摘要: use std::borrow::Borrow; use std::cell::RefCell; use std::collections::HashMap; use std::ops::Index; use std::rc::Rc; /** 653. Two Sum IV - Input is a 阅读全文
posted @ 2021-10-12 10:54 johnny_zhao 阅读(37) 评论(0) 推荐(0)
摘要: 我们很多时都使用像 println! 这样的宏,不过还没有完全探索什么是宏以及它是如何工作的。宏 (Macro) 指的是Rust中一系列的功能:使用 macro_rules! 的声明宏,和三种 过程(Procedural)宏: 自定义#[derive]宏在结构体和枚举上指定通过derive属性添加的 阅读全文
posted @ 2021-10-10 20:42 johnny_zhao 阅读(561) 评论(0) 推荐(0)
摘要: 函数指针 我们之前学习过向函数传递闭包;也可以向函数传递常规函数。这在我们希望传递已经定义的函数而不是重新定义闭包作为参数时很有用。通过函数指针允许我们使用函数作为另一个函数的参数。函数的类型是 fn (使用小写的"f") 以免与 Fn 闭包trait相混淆。fn 被称为 函数指针(function 阅读全文
posted @ 2021-10-10 20:03 johnny_zhao 阅读(1138) 评论(0) 推荐(0)
摘要: Rust的类型系统还有一些其它功能。如 newtype 和 类型别名(type aliases),一个类型似newtype但有首稍微不同的语义的功能。还有 ! 类型和动态大小类型。 为了类型安全和抽象而使用newtype模式 newtype模式可以用于一些其它我们还没讨论的功能,包括静态的确保某值不 阅读全文
posted @ 2021-10-10 12:20 johnny_zhao 阅读(508) 评论(0) 推荐(0)
摘要: 使用extern函数设用外部代码 有时我们的Rust代码可能需要与其它语言编写的代码交互。为此Rust有一个关键字,extern,有助于创建和使用 外部函数接口(Foreign Function Interface, FFI)。外部函数接口是一个编程语言用以定义函数的方式,其允许不同(外部)编程语言 阅读全文
posted @ 2021-10-09 23:46 johnny_zhao 阅读(1576) 评论(0) 推荐(0)
摘要: 我们到目前为止讨论过的代码都有Rust在编译时会强制执行的内存安全保证。然而,Rust还隐藏有第二种语言 ,它不会强制执行这类内存安全保证:这被称为 不安全Rust (unsafe Rust)。它与常规Rust代码无异,但是会提供额外的超能力。 尽管代码可能没问题,但如果Rust编译器没有足够的信息 阅读全文
posted @ 2021-10-09 21:00 johnny_zhao 阅读(874) 评论(0) 推荐(0)
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 80 下一页