問題タブ [boost-foreach]
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++ - BOOST_FOREACH を使用して、ディレクトリ内のすべてのファイルを反復処理します
boost::filesystem と BOOST_FOREACH を使用して、ディレクトリ内のすべてのファイルを反復処理できますか? 私は試した
このコードはコンパイルおよび実行されますが、目的の結果が得られません。
c++ - const_iterator のみをサポートするコンテナーで BOOST_FOREACH を使用するにはどうすればよいですか?
私はこのコンテナを持っています:
それを考えると、次のコードは問題なくコンパイルされます。
ただし、Row
クラスには変更可能なイテレータを含めるべきではないため、変更可能なアクセスを削除して Row クラスを変更しました。
しかし、今度は同じ foreach ループがコンパイルに失敗します。
エラーメッセージから、明らかに失敗BOOST_FOREACH
する型をインスタンス化しようとしていることがわかります。range_mutable_iterator
代わりに定数範囲をインスタンス化するにはどうすればよいですか?
ありがとう。
編集
と の完全なクラス宣言は次Row
のFieldIterator
とおりです。
c++ - BOOST_FOREACHマクロを安全に再定義する
私は次のマクロを持っています:
(私のコンテナーは可変反復APIを実装していないため、このマクロを使用しています。)
それに関する問題は、それc
が2回評価されることです。
私の質問は、このマクロを次のように修正できるかどうかです。
c
最大で1回評価されます- 最初の条件を満たすために作成されたローカル変数は、それぞれのforeachスコープ内にのみ存在します。
c++ - BOOST_FOREACH がハンドコーディングされたものと完全に同等ではないのはなぜですか?
ブーストドキュメントから 、
これにより、ほぼ最適なコードが生成されます。通常、BOOST_FOREACH のパフォーマンスは、同等の手作業でコーディングされたループの数パーセント以内です。
マクロと非標準の typeof 演算子を使用すると、まったく同等のものを生成できると思います。BOOST_FOREACH のどの機能が正確ではないのですか?
編集:
私のバージョン:
オーバーヘッドのないバージョンを作成しようとしています。これは非標準の typeof を使用し、value_type の代わりに iterator を指定します。ここで何か不足していますか?
c++ - BOOST_FOREACHを「純粋な」C++11の代替に置き換えますか?
BOOST_FOREACH
この例のを「純粋な」C++11に相当するものに置き換えることは可能ですか?
キーと値のペアをとへの参照に保持することが重要な機能k
ですv
。
私は試した:
と
しかし、範囲ベースのforループのアイデアはどれも機能していないようです。おそらく、範囲ベースのforループは、の前に宣言を持っている必要があります:
。
無効です。
私が見つけることができる最も近い同等物は次のとおりです。
BOOST_FOREACH
これはバージョンほど簡潔ではありません!
C ++ 11でブーストせずに同じことを簡潔に表現する方法はありますか?
c++ - 常に侵入的なリストでBOOST_FOREACHを使用する
BOOST_FOREACHマクロを使用して侵入リストを反復処理するには、次のコードを検討してください。
Boostバージョン1.48を指定すると、コードはclang 3.2(SVN)およびgcc 4.6.3で失敗しますが、gcc4.5.3では機能します。コードxs
への非const修飾パラメーターを使用すると機能します。iterate
C ++ 11を有効にすると、すべてのコンパイラがコードを受け入れます。boost-1.46を使用する場合、両方のgccバージョンがコードを受け入れますが、clangはまだ受け入れません。
手元のコードはマクロの誤用BOOST_FOREACH
ですか、それともブースト側のエラーですか?通常のforループでの反復よりも優れた回避策はありますか?
c++ - Boostプロパティツリーでオブジェクトを取得するにはどうすればよいですか
サンプルコードを理解して変更する必要があります。私はある時点で立ち往生していて、解決策を見つけることができませんでした。コードは次のとおりです。
ここで「秒」とはどういう意味ですか?
プログラムが読み取るJSONの例は次のとおりです。
もう1つの質問ですが、コードをコンパイルしようとすると、次のエラーも発生します。これはどういう意味ですか、どうすれば解決できますか?
どうもありがとう。
c++ - ブーストなしの BOOST_FOREACH?
BOOST_FOREACH
Boostを必要としないような「for each」マクロの実装はありますか?
c++ - ブースト プロパティ ツリーを使用した JSON の解析
themoviedb.com から映画情報を取得するアプリケーションを作成しています。情報は JSON ファイルで提供されます。ブースト プロパティ ツリーを使用して情報を保存しようとしています。しかし、少し問題があります。
次のコードで問題を説明します。
しかし、これを実行すると、次の出力が得られます。
私が間違っていることを誰かが知っていますか?BOOST_FOREACH コードにあると思います。
PS: LLVM GCC 4.2 コンパイラで Xcode 4.5.2 を使用します。
c++ - BOOST_FOREACHとベクトル
シーンのベクトルがありvector<Scene>
ます。参照として、またはそうでない場合でも、要素を反復処理する正しい方法は何ですか?
例:これ:
マクロは、ベクトルの反復ごとにシーンをコピーしますか、それとも舞台裏で参照を使用しますか?
それで、これとは何か違いがあります: