問題タブ [function-call-operator]

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 投票する
11 に答える
71633 参照

c++ - operator() をオーバーライドする理由

Boost Signalsライブラリでは、() 演算子をオーバーロードしています。

これは C++ の規則ですか? コールバックなどに?

私はこれを同僚のコードで見たことがあります(たまたまBoostの大ファンです)。そこにあるすべてのブーストの良さの中で、これは私を混乱させるだけでした.

この過負荷の理由についての洞察はありますか?

0 投票する
14 に答える
533799 参照

c++ - C++ ファンクタとその用途とは?

C++ のファンクターについてよく耳にします。誰かがそれらが何であるか、そしてどのような場合に役立つかについての概要を教えてもらえますか?

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

c++ - 関数呼び出し演算子

重複の可能性:
C++ ファンクター - およびその使用法。
operator() をオーバーライドする理由

STL コンテナーでの使用を見てきましたoperator()が、それは何で、いつ使用しますか?

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

c++ - void Classname :: operator()(){....}は何をしますか?

私はいくつかのC++コードを調べて、次のことに出くわしました

これはコンストラクターのオーバーロードと関係があると思いますが、誰かがそれについて詳しく説明できますか?

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

c++ - C++ でのオーバーロード代入と丸括弧演算子

operator=割り当てとブラケット アクセスの両方をサポートするクラス myVector を定義したいと考えていますmyclass(1) = 0.5。以下のダミーの例を参照してください

()は定数関数として定義されていないため、このコードはコンパイルできません。などの直接代入を有効にしたいからですmyvector(1) = 2。この問題を解決するには、2 つの解決策しか考えられません。1 つは sth を定義することです。のようですdouble getValue(int i) constが、重複したコードが追加されているため、これは奇妙に思えます。もう 1 つはconst、関数の署名から削除する()ことですが、これも望ましくありません。良い回避策があると確信していますが、見つけることができません。

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

c++ - C++ - テンプレート関数呼び出し演算子のオーバーロード - エラー C2064

C++ で関数呼び出し演算子をオーバーロードしようとしていますが、解決できないこのコンパイル エラーが発生しました (Visual Studio 2010)。

エラーが発生していますact(4);

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

javascript - if/case ステートメントで 1 つの関数を使用して他の関数を呼び出すにはどうすればよいですか?

私の編集者がそれを機能させることができないので、誰が私がどのタイプミスをしたか知っていますか

スイッチでもやってみました。

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

c++ - 関数呼び出し演算子を暗黙的に呼び出す方法は?

クラスオブジェクトのテンプレート化された関数呼び出し演算子を暗黙的に呼び出すにはどうすればよいですか?

g++-4.9 -Wall -Wextraの出力エラーは次のとおりです。

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

c++ - テンプレート関数呼び出し演算子のオーバーロードへの参照を渡す

次のように、関数呼び出し演算子をテンプレート関数でオーバーロードするクラスがあります。

参照引数で呼び出したいのですが、そうしようとすると、代わりに引数が値として渡されます。これが私のテスト設定です:

出力は次のとおりです。

0110F738 -- 'i' のアドレスの出力

0110F664 -- テンプレート オーバーロードの引数のアドレスの出力

0110F738 -- 'test' による引数のアドレスの出力

テンプレート関数 'test' は単に検証用です。

Visual Studio デバッガーは、テンプレートのオーバーロードに 'int&' ではなく 'int' を使用していることを確認します。

test_function_call.exe!Test::operator()(int t) 9 行目 C++

代わりに参照を使用するように強制するにはどうすればよいですか? テンプレート関数呼び出し演算子で <> を使用して型を指定する方法はありますか?