腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
当
使用
mem
::
size_of
::<
T
>
作为
数组
长度
时
,在
编译
时
不能
知道
`
T
‘
类型
的
值
的
大小
generics
、
rust
考虑以下函数: fn make_array<
T
>()
T
: Sized, let bytes = [0u8; std::
mem
::
size_of
::<
T
>()]; --> src/lib.rs:5:23
浏览 14
提问于2019-06-21
得票数 6
回答已采纳
2
回答
编译
时
泛型
类型
大小
检查
pointers
、
rust
、
ffi
我试图为一个C集合库(Judy
数组
1)编写锈蚀绑定,它只为自己提供存储指针宽度
值
的
空间。我
的
公司有相当数量
的
现有代码,它
使用
这个空间直接存储非指针
值
,如指针宽度整数和小结构。我有一个
使用
std::
mem
::transmute_copy()存储
值
的
基本接口,但该函数显式地
不能
确保源
类型
和目标
类型
大小
相同。我能够通过断言在运行时验证
浏览 6
提问于2015-05-19
得票数 24
回答已采纳
1
回答
我可以对我自己
的
非指针
类型
使用
“空指针优化”吗?
optimization
、
rust
当
您有一个Option<&
T
>
时
,
编译
器
知道
NULL永远不是&
T
和
的
可能
值
。这可以节省空间: assert_eq!(
mem
::
size_of
::<&u8>(),
mem
::
size_of
::<Option<&u8>>());
浏览 11
提问于2015-05-23
得票数 32
回答已采纳
1
回答
Vec<
T
>中
的
数据总是密密麻麻
的
吗?
rust
在
铁锈中看到这种“快捷”代码是一种常见
的
模式: ::std::slice::from_raw_parts( ::std::
mem
::
size_of
::<
T
>(),} 即。给定一个结构<em
浏览 2
提问于2021-08-24
得票数 2
回答已采纳
5
回答
我能得到一个只有一个
类型
,而不是一个具体变量
的
锈蚀
数组
的
长度
吗?
arrays
、
rust
、
dependent-type
、
constant-expression
我想将以下C++代码重写为Rust:const size_
t
storage_len = sizeof(storage) / sizeof(storage::value_type); 如果没有具体
的
变量,我如何才能得到这个恒定
的
长度
值
?
作为
动机,虽然这看起来很简单,但我想打印
数组
的
元素计数,而不声明变量。我
知道
我可以
使用
一个常量值或
浏览 0
提问于2018-09-18
得票数 4
回答已采纳
1
回答
如何在结构本身不需要泛型参数
的
情况下向泛型impl块添加
类型
注释?
generics
、
rust
我被困在试图帮助
编译
器推断泛型impl块
的
类型
上。let size = std::
mem
::
size_of
::<
T
>(); } ...}
当
使用
浏览 3
提问于2020-04-18
得票数 0
回答已采纳
3
回答
如何动态设置Rust
数组
长度
?
arrays
、
rust
我想像这样创建
数组
:其中usize是
长度
。可以创建具有动态
长度
的
数组
吗?我想要一个
数组
,而不是Vec。
浏览 0
提问于2016-01-09
得票数 41
回答已采纳
1
回答
如何将固定
大小
的
字节
数组
作为
结构
的
类型
?
memory
、
rust
、
memory-management
、
casting
我想在不做任何工作
的
情况下,将一个堆栈分配
的
字节
数组
重新解释为一个被分配(静态保证
的
)结构--只是为了告诉
编译
器“是的,我保证它们
的
大小
和任何东西都是一样
的
”。我该怎么做?fn from_u8_fixed_size_array<
T
>(arr: [u8;
size_of
::<
T
>()]) ->
T
{ unsafe {
mem
:
浏览 2
提问于2022-10-14
得票数 1
2
回答
在
结构定义中
使用
静态整数
generics
、
rust
我尝试过许多不同
的
方法,但都没有
编译
。 结构中不允许
使用
static,文档告诉我要
使用
宏。只有
类型
可以
在
锈蚀中被“模板化”,但
不能
是
值
或表达式。我甚至
不能
将
浏览 6
提问于2014-08-30
得票数 7
1
回答
任意
类型
铸件
的
安全尺寸
casting
、
rust
、
atomic
、
undefined-behavior
(
mem
::
size_of
::<
T
>() <=
mem
::
size_of
::<usize>()); Self::new(
T
::default())} 如您所见,我将一个
大小
足够小
的</e
浏览 3
提问于2015-09-28
得票数 5
回答已采纳
2
回答
关联
类型
“元素”
在
“`Self`”中找不到
rust
我正在尝试将to_be_bytes方法包装成特征(目前它们是直接从原始
类型
实现
的
),这样我就可以
在
泛型
类型
上
使用
它。这是我
的
密码: fn to_be_bytes(&self) -> [u8;
mem
::
size_of
::<Self>()];这个问题发生在
mem
::
size_of
::<Self>(),
编译
器说 在
浏览 1
提问于2021-07-05
得票数 1
回答已采纳
1
回答
什么是“胖指针”?
pointers
、
rust
我已经
在
几个上下文中阅读了术语“胖指针”,但我不确定它的确切含义以及它何时
在
Rust中
使用
。指针似乎是普通指针
的
两倍大,但我不明白为什么。它似乎也与特征对象有关。
浏览 2
提问于2019-09-02
得票数 113
回答已采纳
3
回答
无法创建将字节片转换为整数
的
泛型函数,因为在
编译
时
不
知道
大小
。
rust
::
mem
::
size_of
::<
T
>() => { buf.copy_from_slice}铁锈不会让我这么做
的
error[E0532]: expected tuple struct/variant, found function `std::
mem
::
siz
浏览 1
提问于2019-10-02
得票数 3
回答已采纳
2
回答
为什么递归结构
类型
在
Rust中是非法
的
?
rust
我正在尝试一些随机
的
东西来加深我对Rust
的
理解。., a `Box`, `Rc`, or `&`) at some point to make `Person` representablestruct Person {mother: None, partner: Some(Box::new(susan)),} 我想了解这背后
的
全部故事我
知道
装箱意味着它将存储
在
堆上,而不是堆
浏览 0
提问于2014-08-14
得票数 75
回答已采纳
2
回答
如何返回具有单元数据
类型
的
结构?
generics
、
struct
、
syntax
、
rust
、
tuples
这可以毫无问题地
编译
: pub fn new() -> CustomSet { }当我试图将单元
类型
(空元组)添加到CustomSet
类型
时
,它不会
编译
。CustomSet<()> {}如何返回具有
浏览 0
提问于2018-08-24
得票数 1
回答已采纳
2
回答
是否有一种方法
在
锈菌过载方法
的
特定
类型
?
rust
如果有一个本机解决这个问题与读取字节-酷,但我
的
目标是学习如何独自完成它,以及任何其他用途。我想做这样
的
事情:(下面的伪代码)let int32: i32 = reader.read(); // separateint64: i64 = reader.read(); // separate implementation to read 8 bits and convert into int64 我想它看起来是这样
的
:(又
浏览 6
提问于2022-01-20
得票数 0
回答已采纳
2
回答
从打包结构中获取原始字节
serialization
、
rust
我有一个像这样
的
结构:struct Header { thing: u8,如何从其中获取原始字节,以便用于C库或套接字交互?我本来希望
使用
transmute来解决这个问题,但不幸
的
是,这是行不通
的
:let header_bytes: &[u8] = unsafe {
mem
浏览 3
提问于2014-09-18
得票数 4
回答已采纳
1
回答
为什么参数
的
大小
未知?
rust
这是我
的
代码:#[repr(C)] };但是,在
编译
时
,我得到了以下错误: error[E0277]: the size for values of type `[u8]`(
size_of
::<Heade
浏览 3
提问于2020-02-10
得票数 0
回答已采纳
1
回答
向量迭代器、向量链和矢量扁平
的
内存
大小
(以字节为单位)
vector
、
rust
、
iterator
、
flatten
、
chaining
[vector_1, vector_2];} 我想
知道
vector_1_iter
的
大小
,链式
的
,扁平
的
字节如果我要找到vector_1和vector_2
的
大小
,我只需取向量
的
长度
乘以i32
的
字节。但是,我不确定在将向量转换为迭代器之后,
大小
是否会发生变化。与链式和扁平法一样,它们
的
浏览 10
提问于2022-09-26
得票数 0
回答已采纳
2
回答
如何分配与缓存线
大小
对齐
的
Vec<u8>?
rust
我需要为从File读取数据分配一个缓冲区,但是这个缓冲区必须与缓存线
的
大小
(64字节)对齐。我正在为Vec寻找一个类似如下
的
函数这将为我提供所需
的
这显然不存在,但可能有一些我不
知道
的
等价物(即"hacks")。因此,当我
使用
这个函数(它会给我想要
的
浏览 0
提问于2020-02-12
得票数 3
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
为什么很多人编程喜欢用typedef?
《Effective Modern C+》笔记之类型推断
go基础简介
应用二进制接口 说明——Solidity中文文档(7)
A Tour of Go
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券