ホーム | ブログ | C++辞典 | サイトマップ | FAQ | 掲示板 | リンク集
メイン・メニュー
プログラミング
その他
int Ac = 0, Ad = 0;

struct A
{
  A(bool b)
    : b (b)
  { Ac++; }

  operator bool() { return b; }

  ~A() { Ad++; }

  bool b;
};


int main()
{
  for (int i = 0; i < 2; i++)
  {
    if (A a = (i == 0))
    {
      bool b = a;
      if (! b) return 1;
      if (i != 0) return 1;
      if (Ac != (Ad + 1)) return 1;
    } else
    {
      bool b = a;
      if (b) return 1;
      if (i == 0) return 1;
      if (Ac != (Ad + 1)) return 1;
    }
    if (! (Ac == (2*i + 1) && Ad == (2*i + 1))) return 1;

    if (A a = (i != 0))
    {
      bool b = a;
      if (! b) return 1;
      if (i == 0) return 1;
      if (Ac != (Ad + 1)) return 1;
    } else
    {
      bool b = a;
      if (b) return 1;
      if (i != 0) return 1;
      if (Ac != (Ad + 1)) return 1;
    }
    if (! (Ac == (2*i + 2) && Ad == (2*i + 2))) return 1;
    int a = 0;
  }

  return 0;
}
プリンタ出力用画面 友達に伝える
 ホーム | プロフィール | メール | ログイン | 管理
Copyright © 2005-2009 by TAKAGI Nobuhisa