追跡参照とは? わかりやすく解説

追跡参照

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/03/16 02:54 UTC 版)

C++/CLI」の記事における「追跡参照」の解説

C++/CLIの追跡参照(トラッキング参照)は値ではなく参照渡されるハンドルである。これらはC#refVisual Basic .NETのByRefに相当するC++/CLIハンドルへの追跡参照を示すのに^%という構文使用する。これは標準C++で「ポインタへの参照」を表す構文*&に似ている下記コードは追跡参照の使用例である。仮に、下のコードString^% sをString^ sに変えてしまうと、参照ではなく値を渡すことになるため、sは配列セットされ文字列ハンドルコピーするだけとなる。そのため、arr各要素初期化されないままになってしまう。 { array^ arr = gcnew array(10); int i = 0; for each (String^% s in arr) s = i++.ToString();} 加えて上記コード.NET言語の間でも表現力に差があるという例になる。C#foreach文ではforeach (ref string s in arr)というようにコレクション要素参照として取得することができないため、例えば以下のような回避策を使うしかない。 { string[] arr = new string[10]; for (int i = 0; i < arr.Length; ++i) arr[i] = i.ToString();} C++/CLIには、C#のoutパラメータ修飾子に直接相当する構文は存在しない。C#を含む他の.NET言語と相互運用する際に必要な場合、属性構文[System::Runtime::InteropServices::Out]を使い、メソッド引数を方向属性System::Runtime::InteropServices::OutAttributeで修飾する。

※この「追跡参照」の解説は、「C++/CLI」の解説の一部です。
「追跡参照」を含む「C++/CLI」の記事については、「C++/CLI」の概要参照ください

ウィキペディア小見出し辞書の「追跡参照」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「追跡参照」の関連用語

1
6% |||||

追跡参照のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



追跡参照のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのC++/CLI (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS