ネタ元>
[C#].Netの器 「・・・で、その追跡参照がどんなメリットがあるとお考えですか?」
C#だとごらんの有様なのですが、C++/CLIだと追跡参照があります。
とりあえずウォーミングアップとして以下のコードを見てください。
void test1(){
System::String ^str = L"aaaa";
System::String ^%otherstr = str;
otherstr = L"cccc";
Console::WriteLine(str);
}
書き換えているのは、strではなくotherstrなのですが、strも書き変ってます。
「いや、書き換えるとかそういう問題じゃなくてですね・・・」
あれあれ、使っちゃいますよ、追跡参照。
void test2(){
System::String ^str1 = L"aaaa";
System::String ^str2 = L"bbbb";
array<System::String ^%> ^ary = gcnew array<System::String ^%>(2){str1, str2};
for (int i = 0; i < 2; i++){
ary[i] = "cccc";
}
Console::WriteLine(str1);
Console::WriteLine(str2);
}
'System::String ^%' : マネージ配列にはこの要素型を指定できません
運がよかったな。今日はMPが足りないみたいだ。
#まぁ、考えてみれば参照型の配列も駄目だもんな~