[转]Rust世界里的类型大小

原创
02/18 22:20
阅读数 56

基本上,每一门语言中或多或少的可以知道数据类型的大小,比如c, java, c#, javascript.

拥有GC的语言或者解释性语言,基本上只有基本类型有大小,比如byte, char, int, double,这些数据类型的大小是可知的。

然而很难知道复合数据类型如类或者结构体或者函数的大小,他们被隐藏在实现的后面,没有暴露给开发者。确实开发者也不需要知道这些类型的大小。

 

Rust做为系统级编程语言,原生的支持了获取各种数据类型大小的功能,包括基本数据类型,复合数据类型(结构体,指针,函数等),

数据类型大小是构建Rust世界的基石之一,比如在栈上声明的变量,必须在编译器可获取大小,又如泛型参数使用?Size约束,则后面的泛型参数可以是编译器可知大小的类型或者不可知道大小的类型。

 

本来之前是想写下这方面的笔记心得,后面发现已经有这方面的博客了,内容非常干货

Rust中的Sizedness

https://zhuanlan.zhihu.com/p/189353352

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部