如何将c++联合类型转换为c#代码
How to convert c++ union type into c# code?
可能重复:
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是双重类型。
C#与union
没有相似的概念,但有一个技巧可以获得相同的功能。请参阅此处使用FieldOffset
属性的更多信息:C#等效于C"并集"?来自MSDN
来自MSDN的文章(有点简化(:
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Explicit)]
struct ByteArray {
[FieldOffset(0)]
public byte Byte1;
[FieldOffset(0)]
public int Int1;
[FieldOffset(0)]
public int Int2;
}
相关文章:
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- C++中的双指针类型转换
- 逐位操作的隐式类型转换
- 模板中的类型转换
- 在 C++(和 C)中进行类型转换时明显不一致
- 字符类型转换不兼容
- 16 位到 10 位转换代码说明
- 将复杂的非基元C++数据类型转换为 Erlang/Elixir 格式,以使用 NIF 导出方法
- C++:用户定义的显式类型转换函数错误
- 关于使用类型转换优化除法代码的问题
- 在以下代码中如何完成类型转换
- 为什么隐式类型转换在此代码中结果不正确
- 为什么我的代码不使用类型转换进行编译?
- 这段c++类型转换代码在做什么?
- 如何将c++联合类型转换为c#代码
- 查找尾序指针类型转换的代码
- C++类型转换运算符代码,在 Visual Studio 2012 中无法编译,但在 Visual Studio 2005 中工作正常
- 为什么它会在 arduino uno 代码中将错误:预期的构造函数、析构函数或类型转换放在"void"之前?
- 你认为是什么让这个C++代码变慢了?(它循环通过ADODB记录集,将COM类型转换为字符串,并填充ostringstre