我在 C++ 中有一个结构定义,如下所示:
struct check1
{
check1(USHORT vaultLen)
{
size = sizeof(*this->vaultLen) + vaultLen + sizeof(*this->digestKey);
buffer = new UCHAR[size];
this->vaultLen = (USHORT*)buffer;
this->vaultData = buffer + sizeof(vaultLen);
this->digestKey = (UCHAR(*)[8])(buffer + sizeof(vaultLen) + vaultLen);
*(this->vaultLen) = vaultLen;
}
USHORT *vaultLen;
UCHAR *vaultData;
UCHAR (*digestKey)[8];
UCHAR* buffer;
USHORT size;
}
我不想使用不安全的代码,所以不允许使用指针。C# 中的等效结构是什么?定义为指针的成员是否真的占用空间?
关于如何使用这个结构,这个结构的一个对象被创建并且它的大小成员被传递给一个 int。