1

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

4

1 に答える 1