foo
という関数へのポインタがあるとします。これが指し示す機能をどのように実行するのですか?C++でポインタを持つ関数を実行するにはどうすればよいですか?
0
A
答えて
9
を:
void foo(int x);
をそして、あなたは、次のポインタ定義されています:
void (*ptr)(int) = foo;
は、
"ptr"でfooを実行すると、次のようになります。
ptr(12); //actually calls foo(12);
4
あなたが他の関数を実行したいのと同じ方法:あなたが機能した場合は、次の署名がある
foo();
2
あなたの関数ポインタがfp
であるとします。
fp(3);
または
(*fp)(3);
2つの方法が同等であるが、両方が自分の長所を持っている:
void (*fp)(int);
あなたが関数ポインタから関数を呼び出すには二つの方法があります。 2番目の形式では、プログラムにfp
という機能はありませんが、fp
は関数ポインタです。
関連する問題
- 1. 関数を関数ポインタとしてcで宣言するにはどうすればよいですか?
- 2. GuileのScheme関数からC関数ポインタを作成するにはどうすればよいですか?
- 3. C関数のポインタ引数にC++参照を渡すにはどうすればよいですか?
- 4. C++でベクトルへのポインタを返す関数を設定するにはどうすればよいですか?
- 5. 1つの関数で複数のステートメントを実行するにはどうすればよいですか?
- 6. 関数へのポインタを引数として持つラップされたC++メソッドのC#で署名を書くにはどうすればよいですか?
- 7. C++でポインタを移動するにはどうすればよいですか?
- 8. C#でSystem.Web.Script.Serializationを実行するにはどうすればよいですか?
- 9. C#でコマンドを実行するにはどうすればよいですか?
- 10. 関数を実行するにはどうすればいいですか?
- 11. ハッシュ関数を実行するにはどうすればいいですか?
- 12. jqueryのonchangeラジオで2つの関数を実行するにはどうすればよいですか?
- 13. 3つの関数を1つのプログラムで実行するにはどうすればいいですか
- 14. 関数を引数に持つ関数をPythonで渡すにはどうすればいいですか?
- 15. 関数を使用して別の関数を実行するにはどうすればよいですか?
- 16. javascriptで複数のIDを持つときに、異なる引数で関数を実行するにはどうすればよいですか?
- 17. 複数行アイテムを持つようにTreeviewを設定するにはどうすればよいですか?
- 18. .NETで長いlong結果を持つPowerを実行するにはどうすればよいですか?
- 19. C#で定数チェックを行うにはどうすればよいですか?
- 20. 名前にコロンを持つテーブルでクエリを実行するにはどうすればよいですか?
- 21. Cythonのc関数へのポインタを渡すにはどうすればよいですか?
- 22. Cで関数ポインタを持つtypedef?
- 23. Jenkinsfileの関数で複数のshコマンドを実行するにはどうすればよいですか?
- 24. ポート80でルート権限を持つフラスコアプリを実行するにはどうすればよいですか?
- 25. グループコンポーネントをreactjsでマウントした後に関数を実行するにはどうすればよいですか?
- 26. 可変数の引数を持つメソッドを実装するにはどうすればよいですか?
- 27. Android NDKでメンバ関数を持つ構造体をコンパイルするにはどうすればよいですか?
- 28. 制限された関数アクセスでjavascriptコードを実行するにはどうすればよいですか?
- 29. C#で一度に2つのクエリを実行するにはどうすればよいですか?
- 30. .onsubmitイベントで実行する関数を取得するにはどうすればよいですか?
'declaration-follows-use'ルールでは '(* ptr)(12)'のように呼び出すこともできます。関数ポインタは、逆参照がポインティングされた値にアクセスするためにポインターが必要でないという点で特別である。関数は逆参照され、同じ値を返すことができる点で特別です: '(***** ptr)(12)'。 – bames53