如何转换 c++ C# 代码中的联合类型?
可能的重复:
C# 中的 C++ 联合
#define AVEC3(T) union { T v3[3]; struct { T x,y,z; }; }
#define AMAT3x3(T) union { \
T v9[9], m3x3[3][3]; \
struct { T v3x[3], v3y[3], v3z[3]; }; \
struct { AVec3<T> vecx, vecy, vecz; }; \
struct { AVec3<T> right, up, back; }; \
struct { T xx, xy, xz, yx, yy, yz, zx, zy, zz; }; \
我不知道如何转换上面的代码(c++)转换成c#版本。假设 T 是 double 类型。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
C# 没有与
union
类似的概念,但有一个技巧可以获取相同的功能,请参阅此处使用FieldOffset
属性的地方:C# 相当于 C“union”?来自 MSDN来自 MSDN 帖子(稍微简化):
C# doesn't have a similar notion to
union
, but there is a trick to obtain the same functionality see more here where theFieldOffset
attribute is used: C# equivalent to C "union"? from MSDNFrom the MSDN post (simplified a bit):