問題タブ [boost-lambda]
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.
c++ - ブーストラムダの使用
私は後押しするのが初めてで、それを理解するためにいくつかの簡単なプログラムを書こうとしています。次のコードでは、配列に乱数を入力しようとしています。これが私のコードです:
しかし、一度だけ評価されているように見えrand()
、私の配列にはすべての要素に同じ値が含まれています。このコードの何が問題なのか誰でも指摘できますか?
c++ - boost::lambda を使用してメンバー関数を呼び出す
私はライブラリを学んでいます。そのために、オブジェクトから値を抽出してに変換boost::lambda
するこのサンプルコードを書きました。vector<A>
vector<int>
A
for_each
何度か試した後、パーツを機能させることができました。しかし、私はまだそれらの複数のバインドでそのようには見えません。これを書く他の方法はありますか?できれば次のようなことをしたいのですa2.push_back(bind(&A::get,_1));
が、それはコンパイルされません。
boost - 単純なboost::lambda関数を作成するにはどうすればよいですか?
簡単なテストを行い、trueまたはfalseを返す単純な関数を作成しようとしています。
これを行うと、次のエラーが発生します:
私が望むのはこれと同等のものを手に入れることです
c++ - このboost::lambdaの使用の何が問題になっていますか?
この boost::lambda 式が機能しないのはなぜですか?
これらのコンパイル エラーが表示されますが、これはおそらく役に立たないでしょう。
c++ - boost::function と boost::bind はクールですが、boost::lambda の何が本当にクールなのですか?
175ページのEffective C++ Meyersのパラグラフ1には、一般化されたファンクターとバインディングについて次のように書かれています。
tr1::function
私はあなたがとても驚くべきことを可能にするものを見つけました。チクチクしていない場合は、... の定義をじっと見つめていて、... で何が起こっているのか疑問に思っているからかもしれません。
そして、バインドと機能については彼に同意します。ラムダについて、私はラムダが何をどのように行うかを理解していますが、誰かが本スタイルの驚異的なスニペットまたはラムダが(マイヤーズの用語で)なぜ私の靴下を吹き飛ばすことになっているのかについての口頭での概要を投稿できますか?プレースホルダー構文が使用されている C++ の各領域は、私にはハックのように見えるので (はい、私は機能的な方法について十分に知っているので、基本的なことはしないでください)、bind と MPL での使用方法に同意します。ただし、ラムダの場合は、それを正当化して、天気をレパートリーに入れる必要があるかどうかを判断できるようにしたいだけです。
- 編集 -
This SO answerは、プレースホルダー構文のみを使用したファンクターのインライン作成について言及しており、高度な使用法について言及しています。これはおそらく私が求めているものです...
c++ - boost::lambda式はコンパイルされません
ブーストラダライブラリを使用して、2つのコードワード間のハミング距離を計算する関数を作成しようとしました。私は次のコードを持っています:
そして、私が得ているエラーは次のとおりです。
ブーストラダムで遊ぶのはこれが初めてです。どこが悪いのか教えてください。ありがとう。
編集:
どうもありがとう!作業コードは次のとおりです(参照用)。
c++ - ブーストラムダを使用しようとしていますが、コードがコンパイルされません
自明なファンクターを作成する必要がないように、ブースト ラムダを使用しようとしています。たとえば、ラムダを使用して構造体のメンバーにアクセスしたり、クラスのメソッドを呼び出したりしたいとします。
これをコンパイルしようとすると、次のエラーが発生します。
vp には含まれているのでpair<int,int>
、_1.first が機能するはずだと思いました。私が間違っていることは何ですか?
boost - ブーストラムダ::バインドリターンタイプの選択
lambda::bindを介してメンバーを呼び出したいと思います。残念ながら、同じ名前で返品タイプが異なる2人のメンバーがいます。lambda :: bindがメンバー関数呼び出しの正しいリターン型を推測するのを助ける方法はありますか?(バインドは明示的なリターンタイプの推論で正常に機能します)
c++ - Boost lambda:オブジェクトのメソッドを呼び出す
私はboost::lambdaを、任意のクラスの任意の「getter」メソッドで機能する汎用アルゴリズムを作成する方法として見ています。
このアルゴリズムは、プロパティの重複値を検出するために使用されます。どのクラスのどのプロパティでも機能するようにしたいと思います。
C#では、次のようにします。
メソッドの使用例:
インターフェイスまたはテンプレートメソッドのいずれかを使用して、for "any class"部分を機能させることができますが、 "foranymethod"部分を機能させる方法はまだ見つかりません。
C++で「d=>d.GetId()」ラムダに似た何かを行う方法はありますか(Boostの有無にかかわらず)?
アルゴリズムをジェネリックにするための代替のより多くのC++ianソリューションも歓迎されます。
VS2008でC++/ CLIを使用しているため、C++0xラムダを使用できません。
c++ - boost :: lambdaバインド式は、文字列のempty()にバインドして機能させることができません
以下のコードスニペットをコンパイルしようとしています。しかし、それは失敗します:
エラーC2665:'boost :: lambda :: function_adaptor :: apply':8つのオーバーロードのいずれも、すべての引数タイプを変換できませんでした。bindを呼び出すときにリターンタイプを指定しても役に立ちません。
私が間違っていることについて何か考えはありますか?