- 博客(85)
- 问答 (1)
- 收藏
- 关注
原创 复合 类型
使用的使用将值存入 Some<T> 中,这样在使用变量的时候因为不能直接使用 Option,所以需要将值取出来再用。注意,方括号中的数字是字节,如果字符是多字节的(如汉字),这时如果切片没有落在两个字符之间,程序就会崩溃(汉字是三个字节,切片0-2就会崩溃)在Rust中有两种数组,一种是长度固定吗,速度快的 array,一种是长度动态,性能较低的 vector。元组是由多种类型组合到一起形成的,因此它是复合类型,元组的长度是固定的,元组中元素的顺序也是固定的。的元素序列,而不是引用整个集合。
2023-08-16 23:09:52 769
原创 C++智能指针
share_ptr / make_sharedref: C++——智能指针裸指针很危险,忘记释放很容易造成内存泄漏。c++不能完全支持自动垃圾回收,但是c++11添加了智能指针实现堆内存的自动回收。使用代理模式,将裸指针封装起来,构造函数里初始化,析构函数中释放。智能指针本质上是对象shared_ptr指针指向的堆内存可以同其他shared_ptr共享。shared_ptr支持的操作:接受指针参数的智能指针的构造函数是explicit修饰的,因此,不能将一个内置指针隐式转换为一个智能指针,必须使用直接初始
2023-08-14 00:30:51 117
原创 借用和引用
在 Rust 中编译器可以确保引用永远也不会变成悬垂状态:当你获取数据的引用后,编译器可以确保数据不会在引用结束前被释放,要想释放数据,必须先停止其引用的使用。新旧编译器的引用作用域不同,旧编译器(1.31之前)的引用作用域结束于最近的花括号处,而新编译器的引用作用域改变为 最后一次使用的位置。Rust通过所有权来管理内存,最妙的是,这种检查只发生在编译期,因此对于程序运行期,不会有任何性能上的损失。要注意的是,特定数据的可变引用在同一个作用域只能存在一个,并且,可变引用和不可变引用不能同时存在。
2023-08-03 22:59:05 836
原创 Springboot(三)——自动配置类部分源码阅读
文章目录自动配置类Spring Factories实现原理自动配置类原理例子:HttpEncodingAutoConfiguration自动配置类Spring Factories实现原理spring.factories文件中,包含了项目需要的配置类。spring-core包里定义了SpringFactoriesLoader类,这个类实现了检索META-INF/spring.factories文件,并获取指定接口的配置的功能。在这个类中定义了两个对外的方法:loadFactoryNames、loadS
2020-10-26 21:14:01 241
原创 leetcode(312)扎气球
动态规划解法class Solution { public int maxCoins(int[] nums) { int len = nums.length; //len + 2的长度是因为需要 -1 和 n + 1位置能得到的硬币为0 //dp[i][j] i--j之间能得到的做多硬币 int[][] dp = new int[len + 2][len + 2]; //book[i] = nums[i - 1] 同时两边为1,代表没有硬币 .
2020-07-19 12:36:18 405
空空如也
Deveco Studio和 Android Studio冲突吗
2020-09-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人