用引用成员的不同方法来启动结构

Different ways to Initilialize struct with a referenced member

本文关键字:方法 启动 结构 引用 成员      更新时间:2023-10-16

SOPOSE我们有这两个结构:

struct simple_struct
{
    unsigned int n1;
    unsigned int n2;
};
struct ref_struct
{
    struct simple_struct& st1;
    unsigned int n2;
};

在C 中实例化 Ref_Struct 有几种方法?(不为此结构实现构造函数)

我试图实例化ref_struct,因为我认为知道不同的方法是很有趣的...

无。(afaik,我可能错了)

您可以像

那样做
ref_struct x = {{1,1},1};

如果成员为 const,即

struct ref_struct
{
    const simple_struct& st1;
    unsigned int n2;
};

您可以使用预先存在的simple_struct实例在没有构造函数的情况下初始化ref_struct。

simple_struct simple = {1,2};
ref_struct ref = {simple, 3};