0からRPGを作る (196レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

71: 名前は開発中のものです。 [sage] 2011/11/06(日) 21:25:29.86 ID:0+ysNS7s(1/3) AAS
構造体とは違う。
説明省いて簡単な具体例の一つを示すと、

enum GameState_t {
GAME_STATE_TITLE = 0;
GAME_STATE_NAME = 1;
:
}
となるので、

switch( state )
{
case GAME_STATE_TITLE: (何かの処理)
case GAME_STATE_NAME: (何かの処理)
}
みたいな場合、

switch( state )
{
case 0: (何かの処理)
case 1: (何かの処理)
}
こう書くより見やすくなる。OK?

詳しくはコンパイル時に決まるとかSTLのときどうとかとかあるけど、今は考えなくていい。
74
(1): 名前は開発中のものです。 [sage] 2011/11/06(日) 21:41:20.85 ID:0+ysNS7s(2/3) AAS
こんなのにも使う。

enum { are, kore, end };

// 本体とする
int param[end];
for ( int i = 0; i < end; i++ ) param[i] = 0;
param[kore] = 14;

で、たとえばsoreを追加したいとする。
enum { are, sore, kore, end };
これでも本体のコードは変更無しで動く。
もし数字で固体を管理してると、初期かも書き直さないといけないし、
全部のparam[1]をparam[2]に書き換えが必要。
バグの原因。
76: 名前は開発中のものです。 [sage] 2011/11/06(日) 23:49:20.61 ID:0+ysNS7s(3/3) AAS
>>75
想定しているのは構造体を使えないプログラム初心者が、
ちょっと複雑なプログラムをして、ベタで定数を扱おうとしたとき。

自分が実際にこういう構造にするときは簡単にスクリプトっぽい処理をさせる場合など。
命令の入れ替えや追加が容易だから。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.786s*