問題タブ [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.
boost - このboost::lambda :: bindの使用法の何が問題になっていますか?
このコードに何か問題がありますか?コンパイルエラーが発生し続けます。基本的に、ボイドリターン関数を非ボイドリターンタイプのシグナルに接続したいと思います。ブーストバージョン:リリース1.46.1
コンパイル中に次のエラーが発生します。
ありがとう。
c++ - boost ::lambdaで_1.second->pair()。first==rを表現する
コールバックとして入力する必要のある式がありstd::transform
ますが、そのための別のメソッドを記述したくありません。渡される唯一の引数がタイプであると仮定する式を表現_1.second->pair().first == r
したいboost::lambda
_1
std::pair
私は一般的な速記ファンクターを持っておりutil::shorthand::pair_second
、util::shorthand::pair_first
ペアの2番目と1番目のアイテムを返します。
私はできますboost::bind(util::shorthand::pair_second, _1)
が、それから何をしますか?式の残りの部分を実装する方法は?
-1.second
タイプのテンプレートですConnection<T>
。C++11は使用できません。
c++ - bind()には、C ++ 11ラムダよりも(互換性以外に)利点がありますか?
どこにでもあるのではなく、C++11スタイルのラムダを使用するようにコードを移行することを考えていbind
ます。しかし、それが良い考えかどうかはわかりません。
eg boost::lambda
(またはboost::phoenix
)を使用すると、C ++ 11スタイルのラムダよりも実用的な利点がありますか?
ラムダに移行するのは良い考えですか?コードを移行する必要がありますか?
c++ - Boost :: Lambdaのref()?
ref
Boost::LambdaのBoost::Phoenixに相当するものは何ですか?オンラインドキュメントで見つかりません。
boost::ref
動作しboost::lambda::var
ていないようです(明らかに、演算子のオーバーロードはありません)。
c++ - Boost.Lambda でのカスタム添え字演算子の使用
Visual Studio 2005 と Boost 1.37 を使用しています。Visual Studio 2012 Express Desktop と Boost 1.50 でも同じコードをテストしましたが、成功しませんでした。
タイプのカスタム添え字演算子にアクセスして、 Boost.Lambdaを使用したいと考えています。std::arrayで使用する場合にも発生するため、 std::arrayタイプの問題を説明します。
エラーは次のとおりです。
このページを見つけました:返品型控除システムの拡張
しかし、うまく実装できませんでした。
ここで何ができるか知っている人はいますか?
haskell - Boost Phoenix に最も移行しやすい関数型言語アプローチは?
Boost.phoenixをプロジェクトに統合するために、関数型プログラミングを学びたいと思っています。
関数型プログラミングの概念をそのコンテキストで簡単に適用できる方法で説明する本を見つけることができるように、どの言語が最も似ているか... haskell と ocaml は似ていますか?
あるいは、Boost.phoenix に適用できる、一般的な用語で書かれた優れた関数型プログラミングの本はありますか?
c++ - ブーストラムダを使用して構造体のメンバーを設定する
vector<Wrap>
と同じ値で作成しようとしていますv
。以下の組み合わせを試してみましたが、うまくいきませんでした!
注: C++11 はまだ使用できません
更新C++03 で動作するクリーンなソリューションは問題ありません。ブーストラムダを使用する必要はありません
c++ - boost::lambda を使用して既存のポインターの新しいオブジェクトを作成する方法は?
私がやりたいことは --> 新しいスレッドで新しいオブジェクトを作成することです。何かのようなもの:
コンパイルされません。正しい方法は何ですか?
c++ - ラムダ再帰をブーストしますか?
boost :: lambdaを再帰的に使用できますか?
これはコンパイルされません:
推奨される回避策はありますか?
編集:C ++ 11ラムダの使用について:以下はVS2012ではコンパイルされません:
別の編集:不思議なことに、これは正常に機能します: