我有一个像这样初始化的结构:
typedef struct
{
word w;
long v;
}
MyStruct;
MyStruct sx = {0,0};
Update(sx);
现在看来,先声明再通过,实在是太浪费了。我知道在 C# 中,有一种方法可以在一行中完成所有操作。是否有可能以更聪明(阅读:更清晰)的方式将其传递给我的更新功能?
最佳答案
在 C++ 中,结构与类相同,除了在结构中,默认情况下所有内容都是公共(public)的。所以你可以给一个结构一个构造函数,例如
struct MyStruct
{
word w;
long v;
MyStruct(word w, long v) : w(w), v(v) {}
};
Update(MyStruct(0,0));
此外,C 风格的结构类型定义在 C++ 中是不必要的,也是不鼓励的。
关于c++ - 将结构直接传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2601902/