gpt4 book ai didi

memory - 如何获取用户定义结构的大小? (大小)

转载 作者:行者123 更新时间:2023-11-29 07:51:54 40 4
gpt4 key购买 nike

我有一个用 C 表示的结构:

struct Scard_IO_Request {
proto: u32,
pciLength: u32
}

当我想问sizeof (就像在 C sizeof() 中一样)使用:

mem::sizeof<Scard_IO_Request>();

我得到编译错误:

"error: `sizeof` is a reserved keyword"

为什么我不能使用这个 sizeof功能像C?有替代方案吗?

最佳答案

有两个原因:

  1. 没有“sizeof”这样的函数,因此编译器将很难调用它。

    <
  2. 这不是调用通用函数的方式。

如果您查看mem::size_of 的文档(即使您使用search for "sizeof" 也可以找到),您会看到它包含一个runnable example。它向您展示了如何调用它。对于后代,有问题的例子是:

fn main() {
use std::mem;
assert_eq!(4, mem::size_of::<i32>());
}

在您的特定情况下,您将使用以下方法获得该结构的大小

mem::size_of::<Scard_IO_Request>()

关于memory - 如何获取用户定义结构的大小? (大小),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36664327/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com