4.6.4 跟踪引用
跟踪引用提供了与本地C++(www.cppentry.com)引用类似的功能,它表示CLR堆上某种对象的别名。我们可以给堆栈上的数值类型和可回收垃圾的堆上的句柄创建跟踪引用,跟踪引用本身总是在堆栈上创建的。如果垃圾回收器移动了被引用的对象,则跟踪引用将自动更新。
我们使用%运算符定义跟踪引用。例如,下面是给数值类型创建跟踪引用的方法:
- int value = 10;
- int% trackValue = value;
第二条语句将trackValue定义为已经在堆栈上创建的value变量的跟踪引用。我们现在可以使用trackValue修改value:
- trackValue *= 5;
- Console::WriteLine(value);
因为trackValue是value的别名,所以第二条语句输出50。