C++の質問です。

class C {
  size_t b_size;
  struct {
    int a;
    int b[];
    int c;
    ...
  } st;
};
↑のようなクラスを作りたいのですが、st の中身をバイトストリームから直に読み込むので
a, b[0], b[1], ... b[b_size-1], c ... が連続した領域に確保されるようにしたいです。
b_size の値はコンストラクタが呼ばれたときにはまだ分かりません。こういうのを作ることは可能ですか?

int *data メンバを作って
int a() { return data[0]; }
int b(int i) { return data[1 + i]; }
int c() { return data[b_size + 1]; }
とかしこしこ書いていったほうがいいですか?