問題タブ [reference-binding]

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 に答える
199 参照

c++ - const 参照は、一時的なダングリング参照からキャストされた別の参照にバインドされていますか?

以下はコード スニペットです。

このオンラインコンパイラでは、出力は

そのため、戻り値はcout操作よりも早く破棄されるようです。したがって、instanceぶら下がり参照のようです。

に変更const B& instance = (const B&)func();する const B& instance =func();と、結果は

補足として、vs2015でコードをテストすると、出力は最後のものです。ただし、gcc(4.6以前)でテストすると前者が出力され、4.6以降のバージョンでは後者が出力されます。だから私はオンラインコンパイラが間違っているのか、実際に参照がぶら下がっているのか知りたい.

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

c++ - 関数パラメーターとしての左辺値と右辺値

C ++でLvalueとRvalueを理解しようとしています。

そのため、関数に渡されるパラメーターとしてそれらを使用しています。この最初のケースでは 2 つの関数があり、最初の関数には const int への参照があります。この場合、「const」のおかげで (リンクを参照)、最初の関数に左辺値と右辺値の両方を渡すことができ、問題はありません。 . 代わりに 2 番目の関数で、Rvlaue を渡す義務があります。そうしないと、説明されているエラーが発生します。

わかった!

以下の例のように、2 番目の関数が関数テンプレートになると、左辺値も渡すことができます。

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

c++ - 型 'A *' への非 const 左辺値参照は、関連のない型 'std::shared_ptr 'の値にバインドできません