ホーム | ブログ | C++辞典 | サイトマップ | FAQ | 掲示板 | リンク集
メイン・メニュー
プログラミング
その他
struct A {
  int i;
  char c[];
};

int main(int argc, char *argv[])
{
  char mem1[sizeof(A) + 2 * sizeof(char)];
  char mem2[sizeof(A) + 2 * sizeof(char)];

  A &a1 = *reinterpret_cast<A *>(mem1);
  A &a2 = *reinterpret_cast<A *>(mem2);

  a1.i = 2;
  a2.i = 0;
  a1.c[0] = 'a';
  a2.c[0] = 'c';
  a1.c[1] = 'b';
  a2.c[1] = 'd';

  a2 = a1;

  return !((a2.i == 2) && (a2.c[0] == 'c') && (a2.c[1] == 'd'));
}
プリンタ出力用画面 友達に伝える
 ホーム | プロフィール | メール | ログイン | 管理
Copyright © 2005-2009 by TAKAGI Nobuhisa