次のように、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 に渡されます。