#2
by Dixq (管理人) » 6年前
関数ポインタは変化するインプットに楽に応じる記述をかくことができますよ。
例えばゲームにおいて
・1秒後に敵が出現。その敵の動きはID=3だ。
・2秒後に敵が出現。その敵の動きはID=1だ。
こんな命令があったとき
void move_01(){
ID=1の処理
}
void move_01(){
ID=2の処理
}
void move_03(){
ID=3の処理
}
こんなそれぞれのメソッドを分けてコールしたいとします。
そんな時、
move_01,
move_02,
move_03,
のポインタをポインタ配列に格納しておけば
pointer[id]();
こんな形でidに応じた処理ができます。
関数ポインタは変化するインプットに楽に応じる記述をかくことができますよ。
例えばゲームにおいて
・1秒後に敵が出現。その敵の動きはID=3だ。
・2秒後に敵が出現。その敵の動きはID=1だ。
こんな命令があったとき
void move_01(){
ID=1の処理
}
void move_01(){
ID=2の処理
}
void move_03(){
ID=3の処理
}
こんなそれぞれのメソッドを分けてコールしたいとします。
そんな時、
move_01,
move_02,
move_03,
のポインタをポインタ配列に格納しておけば
pointer[id]();
こんな形でidに応じた処理ができます。