問題タブ [lvalue-to-rvalue]
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++ - ユニバーサル参照によって右辺値参照が左辺値参照に変わる理由
ユニバーサル参照パラメーターが右辺値参照引数と一致すると、右辺値参照引数が返されると思います。ただし、私のテストでは、ユニバーサル参照関数テンプレートによって右辺値参照が左辺値参照に変換されることが示されています。なぜそうなのですか?
GCC と VC++2010 の両方で、これは結果です。
つまり、 のパラメータt
はf2
右辺値参照でしたが、 に渡されるf1
と、パラメータは左辺値参照になりました。の右辺値性を保持すべきではありませんf1
か?
c++ - 左辺値とリテラルの比較は左辺値から右辺値への変換を呼び出しますか?
私はこの質問をしました: const 変数の static_assert
そしてどうやら、比較のために浮動小数点の左辺値が右辺値に変換されるのかという問題に帰着しますか?
このコードでは、左辺値から右辺値への変換が発生しますか?