c++ - 工作 "within"结构 C/C++

标签 c++ c struct

我想我能依稀记得几年前看到过一种方法,它基本上可以输入变量结构并处理其成员,而无需每次都调用变量名。类似于我们如何“使用命名空间 bla”。它甚至可能来自 pascal 是我使用过的一些左字段 API。 例如

typedef struct time{
    uint8_t hour;
    uint8_t minute;
    uint8_t second;
    uint8_t period;

}time;

void clockFunct(){
    static time clock{0,0,0,am};

    /*SOME SYNTAX THAT I CANT FIND/REMEMBER*/ clock{

        hour = 2;
        minute = 30;
        second = 20;
        period = pm

    };
}

我可以创建一些局部变量并将其传回,但我正在研究微 Controller ,所以空间有点贵……或者只是不要偷懒并写下结构名称。只是想我会把它放在那里,看看是否有人知道我在说什么

最佳答案

既然你做了标记 C++,你可以在不久的将来做你想做的事(尽管它的可取性值得怀疑)。 看到引入了结构化绑定(bind)到该语言:

static time clock{0,0,0,am};

{
    auto& [hour, minute, second, period] = clock;
    hour = 2;
    minute = 30;
    second = 20;
    period = pm;
};

在 block 范围内,这些标识符将引用(由于引用限定符)clock 的成员。实际上,您根本不需要 block 作用域。我只是将其限制为更接近地模拟您想要的语义。

关于c++ - 工作 "within"结构 C/C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46659996/

相关文章:

c - 将文件读入 C 程序

c++ - fill_n 和 fill 是否具有相同的功能但具有不同的参数重载?

c - miniXML 解析 C API

在c中创建结构

matlab - 在结构体元胞数组中查找值

c - 输出到文件c编程

c++ - GStreamer:rtpjpegdepay/jpegdec 输出的帧颜色错误

c++ - 如何检测全局与链路本地 IPv6 地址

c++ - 编译外部 C++ 库以用于 iOS 项目

c - 显式忽略来自 -Wcast-qual : cast discards ‘__attribute__((const))’ qualifier from pointer target type 的警告