std::async への非 const 参照の受け渡し
std::async で、引数として非 const 参照を渡すと、エラー中。これは意図的な設計上の選択です。
根拠
関数オブジェクトが参照によって引数を受け入れるかどうかを判断することは、常に実行可能であるとは限りません。したがって、 std::async はすべての引数をコピーするか、参照によってそれらを受け入れる必要があります。引数をコピーすると、ぶら下がったり競合状態が発生したりすることがないため、安全性が確保されます。
例外: std::ref
非 const 参照パラメータを許可するには、std::ref使用できます。これは、潜在的に危険な参照セマンティクスに対する明示的なオプトインであり、未結合参照と競合状態を慎重に処理する必要があります。
以上が非 Const 参照を `std::async` に渡せないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。