問題タブ [std-ranges]
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++ - C++20 範囲ライブラリの範囲アダプターへの反復子トランスフォーマー
私はC++ 20の範囲ライブラリを調べています.関数から範囲アダプターを構築するのがどれほど簡単か疑問に思っていましたtemplate<Iterator I,Iterator J> I f(J)
. 私が念頭に置いていた特定の例は、s のストリームの同時評価ですstd::function<I()>
。私が考えていた機能は次のようなものかもしれません:
それなら、と言えるようなas_adaptor
関数が欲しい... | transform([](int x) { return [x](){return x+1};}) | as_adaptor(async_eval) | ...
です。これ、または同様のことは可能ですか?
c++ - c ++ 20の範囲のポイントは何ですか?
古き良きイテレータと比較して、c++ 20 の範囲が追加するものを理解するのに苦労しています。begin
はい、もうandを使用する必要はないと思いますが、次のend
ような単純なオーバーロードがあります。
その問題を解決します。
範囲が便利な理由と、イテレータと比較してどのような場合に使用する必要がありますか?
編集:範囲にはイテレータよりも他の利点があることを知っています(チェーン、より良いメソッドなど...)。しかし、これら (私が思うに?) はすべて反復子で行うことができ、範囲のようなまったく新しい概念を導入する必要があった理由がわかりません。
c++ - views::reverse が iota_view で機能しないのはなぜですか?
次の C++ プログラムがありますが、何らかの理由でint64_t
テンプレート引数として使用できません。
これは予想されることですか(私は何か間違ったことをしています)、それともコンパイラ/標準ライブラリの不幸なバグですか?
注:std::views::reverse
コードを削除すると、コンパイルint64_t
も行われます。