関数ポインタ

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

トピックに返信する


答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: 関数ポインタ

Re: 関数ポインタ

#5

by Ruben » 6年前

回答有り難うございます。早速試してみました。
メンバ関数ポインタの文法にやや苦戦しましたが、
switch文などで場合分けしていた処理をスッキリ記述できますね。
いろいろ試してみようと思います。

どうも有り難うございました!

Re: 関数ポインタ

#4

by usao » 6年前

callbackとか

Re: 関数ポインタ

#3

by Dixq (管理人) » 6年前

コードの汚さは大目に見るとして、考え方自体はここの通りです。
http://dixq.net/rp/12.html

Re: 関数ポインタ

#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

by Ruben » 6年前

c++で2DのRPGを幾つか作った経験がありますが、
関数ポインタを使用したことは一度もありません。

何か有効な利用法はあるのでしょうか?

ページトップ