【问题标题】:struct with parentheses vs double parentheses in RustRust 中带括号的结构与双括号
【发布时间】:2021-12-12 05:46:55
【问题描述】:

两者有什么区别?

struct Test();

struct Test(());

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

【问题讨论】:

    标签: struct rust


    【解决方案1】:

    它是一个结构体,其中一个元素是一个空元组?

    完全正确。

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

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

    struct Test<T>(T);
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-16
      相关资源
      最近更新 更多