問題タブ [c++23]
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++23 std::move_only_function に推論ガイドがないのはなぜですか?
C++23 で導入されstd::functionた の cousinstd::move_only_functionは、その名前のように、移動のみの呼び出し可能オブジェクト ( demo )の移動のみのラッパーです。
ただし、 とは異なりstd::function、標準では推論ガイドが定義されていません ( demo )。
CTAD を禁止する理由はありますか?
c++ - C++ ハードウェアの破壊的および建設的な干渉サイズは、必須の宣言順序でどのように機能しますか?
参考までに、干渉サイズは C++17、P0154R1の一部であり、必須の宣言順序は C++23、P1847R4に対して提案されています。
私が理解する限りでは...
最初の提案では、コンパイラが alignas されたメンバー変数を互いに近づけたり遠ざけたりする必要があります。
2 番目の提案では、クラス内での宣言の順序でメンバー変数を配置することをコンパイラーに要求します。
私には、2 番目の提案が最初の提案よりも優れているように思えます。hardware_destructive_interference_size2つのメンバー変数の間に未使用のメモリを残す必要があり、他のメンバーで埋めるオプションはありません。hardware_constructive_interference_size「できません。メンバー変数を自分で並べ替えてみてください」という警告になります。