c++ - 将结构直接传递给函数

标签 c++ struct

我有一个像这样初始化的结构:

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/

相关文章:

c++ - 在main中调用类的函数

c++ - 将bash参数传递给C++

c - Eclipse CDT 内容协助未完成结构

C:无法访问结构中字符串数组中的元素

C++ 私有(private)结构

c - 为什么 C struct tm 不是 typedef?

c# - 何时使用 C#/C++

c++ - template<typename T> using L = T(*)(T); 中的 (*) 是什么意思?

c++ - 将 memset 从 C 替换/移植到 C++

c++ - 结构大小与 typedef 版本不同?