4
A
答えて
3
この文にはパラメータや戻りvoid
を取得していない関数へのポインタにキャスト1
するCONST_SIG
を定義します。このは、関数へのポインタがあり、真実性をテストする場合に便利です。CONST_SIG
がtrueになります。
多くのLinuxディストリビューションで利用可能なcdecl
プログラムを使って、C宣言の "英語翻訳"を試すことができます。このときの出力例:
cdecl> explain (void (*)())
cast unknown_name into pointer to function returning void
余談:私たちのポインタに名前がないので、それは「unknown_name」と言う理由があります。たとえば、 "p"と名前を付けると、次のようになります。(void (*p)())
3
関数ポインタを必要とする関数にCONST_SIGを渡し、この関数ポインタの値として1を扱います。
1
このリンクは関連している可能性がありますhttp://www.velocityreviews.com/forums/t715007-re-how-to-understand-this-cpp-syntax.html
+0
これはリンクのみの回答です。そのような回答は一般的には良い考えではありません。リンクが壊れた場合に備えて、リンクの内容を要約する必要があります。 2016年6月24日現在、リンクはまだ動作しています。 –
関連する問題
- 1. プリプロセッサC++
- 2. Cプリプロセッサ -
- 3. C++プリプロセッサのデバッグ
- 4. Cプリプロセッサのコンセプト
- 5. C++プリプロセッサのセミコロン
- 6. C/C++プリプロセッサ名前
- 7. C++プリプロセッサ変数
- 8. Cプリプロセッサforループ
- 9. C++コンパイラとプリプロセッサ
- 10. C++ #defineプリプロセッサ
- 11. CプリプロセッサのC++実装
- 12. プリプロセッサ後のCコード
- 13. Cプリプロセッサ - 別のマクロ
- 14. はCプリプロセッサ文の
- 15. プリプロセッサの後のObjective-cコード
- 16. Cプリプロセッサの交換が
- 17. プラットフォームCプリプロセッサの定義
- 18. Cプリプロセッサの演算子##
- 19. Cプリプロセッサ連結#defineの外
- 20. C++プリプロセッサとの連結
- 21. Cプリプロセッサ#define SQR(x)(x * x)
- 22. Cプリプロセッサと "_asm _emit"ディレクティブ
- 23. C++プリプロセッサをプッシュする
- 24. プリプロセッサを使ったメタプログラミングC/C++
- 25. C/C++プリプロセッサ:正しいファイルが
- 26. Cプリプロセッサでの8ビットCRCの計算?
- 27. C++プリプロセッサでの引数の分割
- 28. Visual Studio 2015のCプリプロセッサの使用
- 29. プリプロセッサVS2010でのC++の定義
- 30. Objective-Cプリプロセッサの文を逆コンパイルする
あなたは理解しづらい部分はありますか?あなたは '#define'が一般的に何をしているのか知っていますか? –
全体としては、表現全体に余分な括弧があることが推奨されますが、キャストは十分に高い優先順位を持ち、おそらくそれはおそらく安全です。 –