Rust 中带括号的结构与双括号

标签 struct rust

两者有什么区别?

struct Test();

struct Test(());

我知道结构可以有元组(未命名的字段)。但是,我不确定 (()) 在这种情况下是什么意思?它是一个结构,其中一个元素是一个空元组?

最佳答案

it's a struct with one element which is an empty tuple?

完全正确。

从技术上讲,它们是不同的类型,但它们携带的信息量完全相同;没有。

拥有该参数实际上没有任何目的,并且您通常不会创建像 struct Test(()) 这样的类型,除非在通用上下文中。例如,

struct Test<T>(T);

由于其他一些要求,T 最终成为 ()

关于Rust 中带括号的结构与双括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69730119/

相关文章:

rust - 为什么在这种情况下不允许关联类型?

struct - 在Rust中传递对结构的引用

c - 如何使用 fscanf 将大量输入从文件中提取到结构中。美标 C89(90)

rust - 如何只为给定的平台使用一个箱子?

python - Python和C.Bitoperation,.split()函数

c++ - 错误 : use of undeclared identifier 'T'

rust - 我可以获取字节数组并将其反序列化为结构吗?

rust - 使用方法借用包装在 Option 中的值

C++ 结构构造函数

c++ - 你将如何重写这个结构体指针?