私は最近コーディングを開始しましたが、これが意味することをしばらく理解しようとしています:
static thing* dostuff(); thing* thing::dostuff(){};
私は関数ポインタを検索しましたが、それらは異なって見えます。これらのタイプの関数は、コードの重要な部分に出てくるようで、その意味と使用方法を知りたいと思います。ありがとうございます。ポインタ?ポインタ関数?
-5
A
答えて
2
コードフラグメントstatic thing* dostuff()
とthing* thing::dostuff(){}
は、関数ポインタとは関係ありませんが、関数の宣言とこの関数の定義/実装です。
static thing* dostuff();
は、データタイプがthing
(おそらくクラスタイプ)のポインタを返す関数を宣言します。
dostuff
は、実際には、クラスthing
で定義されているメンバ関数です。キーワードstaticはクラスインスタンスにバインドされていないメンバーを宣言し、静的メンバー関数はオブジェクトに関連付けられていません。
class thing {
static thing* dostuff();
};
その後、thing* thing::dostuff(){}
はクラスthing
のこの静的メンバ関数の実装は次のとおりです。呼び出されたとき、彼らはthis
-pointerを持っていません。接頭辞thing::
は、この関数がクラスthing
の一部であることを示します。
0
thing*
のポインタを返すのは、dostuff
と呼ばれる静的メンバー関数thing
です。
何も特別で奇妙なことはありません。
関連する問題
- 1. 関数のポインタ
- 2. 関数ポインタ
- 3. 関数ポインタ、デザイン
- 4. as3関数ポインタ
- 5. テンプレートメンバ関数ポインタ
- 6. ブーストバインドクラス関数ポインタ
- 7. C#関数ポインタ?
- 8. C++ポインタでない関数ポインタ
- 9. C関数ポインタへのポインタの返信
- 10. printf関数とポインタ
- 11. JScriptの関数ポインタ
- 12. 関数ポインタ平等
- 13. 関数スコープクラッシュのポインタ
- 14. C++メンバ関数ポインタ
- 15. ポインタ、リンクリストと関数
- 16. 関数ポインタCで
- 17. C#の関数ポインタ
- 18. 抽象関数ポインタ
- 19. 関数ポインタJavaの
- 20. 関数ポインタfor C++
- 21. 関数ポインタtypedefを
- 22. C++関数ポインタ型
- 23. Pthreadと関数ポインタ
- 24. NullポインタJava関数
- 25. Cで関数ポインタを返す関数へのポインタの構文
- 26. 関数への整数ポインタ
- 27. 関数ポインタの引数リスト
- 28. 異なるポインタ型の引数ポインタとしてのキャスト関数ポインタ
- 29. C - パス構造ポインタVS整数関数へのポインタ
- 30. ポインタ変数へのポインタを返す関数?
ポインタを返す関数です。 – Donnie
[tag:ポインタ] – edmz
を読んでください。私のクリスタルボールは、いくつかのクラスの 'thing'のクラス定義の最初のもので、後者はいくつかのソースファイルを実装しています。後者は 'thing 'ポインタを返すと主張し、実際には何もしないので、横たわっています。どちらもポインタを返す関数です。関数ポインタにはこれと何も関係がありません。 – WhozCraig