問題タブ [function-pointers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
7 に答える
295442 参照

c - C の関数ポインターの typedef を理解する

引数を持つ関数へのポインターの typedef を持っている他の人々のコードを読んだとき、私はいつも少し困惑していました。少し前に C で書かれた数値アルゴリズムを理解しようとしていたときに、そのような定義にたどり着くのに時間がかかったのを思い出します。では、関数へのポインター用の適切な typedef を作成する方法 (すべきこととすべきでないこと) に関するヒントと考えを共有していただけますか? それらが役立つ理由と、他の人の作業を理解する方法について教えてください。ありがとう!

0 投票する
2 に答える
2546 参照

c - 可変引数を持つ関数に関数ポインタを渡す方法は?

これを達成する方法がわかりません!
va_list引数で関数ポインタを取得する方法は?
本当にありがとう。

0 投票する
1 に答える
123 参照

.net - ParameterInfoオブジェクトが管理されたパラメータータイプを含む関数ポインターを参照していると推測することは可能ですか?

リフレクションを使用して次のメソッド宣言を調べていますが、メソッドの唯一のパラメーターが関数ポインターであると判断できるかどうか疑問に思っています。

ParameterInfoオブジェクトのパラメータを検査するfooと、パラメータのタイプがIntPtr;であることが示されます。関数ポインタはネイティブCLR型ではないため、これは理にかなっています。

関数ポインターには管理対象パラメータータイプのみが含まれているため、で追加のコンテキストを取得したいと考えていましたParameterInfoParameterInfoにプロパティや属性が表示されないので、このインスタンスを関数ポインタとしてType区別するのに役立つ可能性があります-何かありますか?IntPtr

0 投票する
8 に答える
447 参照

c - なぜCで警告し、C ++でコンパイルできないのですか?

なぜこのコードなのか

Cでは、コンパイル時にそのような警告を表示します。

'警告:互換性のないポインタ型からの割り当て'

C ++では、コンパイルできません。

0 投票する
4 に答える
1004 参照

c - 任意の構造体ポインタの配列をC関数に渡しますか?

任意の構造体ポインターの配列と比較関数を一般的な並べ替えアルゴリズムに渡したい。これはCで可能ですか?

構造体のグーイは比較関数内でのみアクセスされ、ソート関数は比較関数を呼び出してポインターを交換するだけで済みますが、それを宣言する方法がわかりません。

0 投票する
5 に答える
1957 参照

c - 関数宣言からの関数ポインタのC構文はありますか

関数の関数ポインターtypedefを宣言する代わりに、関数宣言から取得することは可能ですか?

通常、

私が欲しいもの:

dlsymに使用したい:

fooを更新してfooFuncを更新するのを忘れた場合、またはその逆の場合、それは悪いことです。また、私は多くの関数を持っている可能性があり、それらの関数に関連付けられている関数宣言と関数ポインターtypedefの両方を維持するのはより多くの作業になります。

結論:AndreyTの答えは最も移植性がありますが、gccをコーディングする場合は、typeofが優れたソリューションです。

0 投票する
5 に答える
649 参照

c++ - c++: &rand は正確に何をしますか?

これはいくつかの C++ コードの抜粋です。これについては、後日詳しく説明する必要があります。

小さな神秘的な &rand を除いて、私はそれについてすべてを理解していると思います。それは正確に何をしますか?つまり、ある種の疑似乱数を生成することは明らかですが、それらは常に同じままです。&rand はどこから来たのですか? どんな表現ですか?それが生み出す価値はどこから来るのか?私は少し混乱しています…</p>

また、コード内に「rand」という単語が他に出現することも、乱数と関係がある可能性のあるコードも見当たりませんでした。C++ での私の (非常に限られた) 経験から、事前に宣言またはインクルードしなくても単純に機能するものはごくわずかであることがわかったため、不思議に思いました。

助けてくれてありがとう!

0 投票する
6 に答える
815 参照

c++ - 次の C/C++ ステートメントについて説明できますか?

0 投票する
4 に答える
1780 参照

java - 関数を繰り返す

Javaでこのようなことは可能ですか?

私はほんの一握りの関数を呼び出していますが、次のように構成する必要があります。

そして、何百行もの関数呼び出しを書き出すことは避けたいと思います。

関数ポインターとファンクターを調べてみましたが、適切なものは見つかりませんでした。

0 投票する
2 に答える
2823 参照

c++ - 同じクラスのプライベート メンバーへのポインターを受け取るプライベート メンバー関数

これどうやってするの?(次のコードは機能しませんが、アイデアが説明されていることを願っています。)

次のような方法で Caller を呼び出したい:

渡す必要があると思われるパラメーターを指定してCaller呼び出します。ToBeCalled可能であれば、クラスのプライベート部分にすべてをカプセル化しておきたいと思います。実際には、 のような関数が約 50 個あるToBeCalledため、これを回避する方法がわかりません。

提案をありがとう。:)