問題タブ [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.

0 投票する
1 に答える
604 参照

c++ - C++23 std::move_only_function に推論ガイドがないのはなぜですか?

C++23 で導入されstd::functionた の cousinstd::move_only_functionは、その名前のように、移動のみの呼び出し可能オブジェクト ( demo )の移動のみのラッパーです。

ただし、 とは異なりstd::function、標準では推論ガイドが定義されていません ( demo )。

CTAD を禁止する理由はありますか?

0 投票する
1 に答える
88 参照

c++ - C++ ハードウェアの破壊的および建設的な干渉サイズは、必須の宣言順序でどのように機能しますか?

参考までに、干渉サイズは C++17、P0154R1の一部であり、必須の宣言順序は C++23、P1847R4に対して提案されています。

私が理解する限りでは...

  • 最初の提案では、コンパイラが alignas されたメンバー変数を互いに近づけたり遠ざけたりする必要があります。

  • 2 番目の提案では、クラス内での宣言の順序でメンバー変数を配置することをコンパイラーに要求します。

私には、2 番目の提案が最初の提案よりも優れているように思えます。hardware_destructive_interference_size2つのメンバー変数の間に未使用のメモリを残す必要があり、他のメンバーで埋めるオプションはありません。hardware_constructive_interference_size「できません。メンバー変数を自分で並べ替えてみてください」という警告になります。