Cpp 右辺値参照のソースを表示
新しいページはコチラ
移動:
案内
,
検索
<table class="mbox-small" style="border:1px solid #aaa; background-color:#f9f9f9; width:22em;" id="RealTitleBanner"> <tr> <td style="width:1px;"></td> <td class="mbox-text plainlist" style="">本来の表記は「<b><span id="RealTitle" style="font-size:large;">C++ 右辺値参照</span></b>」です。この記事に付けられた題名は{{記事名の制約}}から不正確なものとなっています。</td> </tr> </table> ※このページでは[[C PlusPlus|C++]]にのみ存在する機能として、記事タイトルが<nowiki>C++ 右辺値参照</nowiki>になっています。<br /> <br /> == '''右辺値参照''' == [[参照]]の特殊なパターンとして右辺値参照があります。あまり知られていないという点で特殊と記述しましたが、知っていることからすれば、ごく自然なC++の言語仕様の一部に過ぎないです。 右辺値というとa = b;のように書くとbが方程式の右辺値です。このようなものの参照?って言われてもピンとこないかもしれませんが、よく右辺値にくるものの参照という意味で、オブジェクトをもたいない値の参照というような技術になります。オブジェクトをもたない値というのは具体的には、以下のようなものの右辺にくるものです。 <syntaxhighlight lang="cpp"> int a = 256; int a = function(); </syntaxhighlight> 通常はメモリのどこかにおかれるものですが、意識したことの無いようなものです。 こういうものを参照するための型として変数の型名の後ろに&&記号をつけて宣言する型を右辺値参照と呼びます。具体的には以下のように使うことができます。 <syntaxhighlight lang="cpp"> int&& rrefnSize = 256; printf("rrfnSize Addres->%x, rrefnSize Value->%d\n",&rrefnSize,rrefnsize); </syntaxhighlight> 出力結果 <syntaxhighlight lang="text"> rrfnSize Addres->46f85c, rrefnSize Value->256 </syntaxhighlight> だから、何?普通のint型と何も変わらないような感じですよね。でもこの参照は右辺値を参照するためのものなので、通常の変数を渡すとコンパイルエラーになります。これははっきりと通常ポインタ変数で扱わないものを型として区別できるとことが、この右辺値参照の活用の道となっています。右辺値というは通常は変数にはとっておかなくていい、一時的な値です。その通常はとっておかなくていいような値を右辺値参照によって取り出そうとする技術です。 通常はとっておかなくていいものを残すとは、どういうことなのか具体的なサンプルは以下のとおりです。
テンプレート:記事名の制約
(
ソースを閲覧
)
Cpp 右辺値参照
に戻る。
個人用ツール
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
操作
検索
案内
メインページ
コミュニティ・ポータル
最近の出来事
最近の更新
おまかせ表示
ヘルプ
ツールボックス
リンク元
関連ページの更新状況
特別ページ