通过将符号^放在类型名称的后面来指定该类型的句柄。例如,下面这条语句就声明了一个可以存储String类型对象的地址、名为proverb的跟踪语句:
String^ proverb;
该语句定义的proverb变量是String^类型的跟踪句柄。当声明某个句柄时,系统自动将其初始化为空值,因此该句柄将不引用任何对象。可以用关键字nullptr显式地将其设置为空值:
proverb = nullptr;
注意此处不能像使用本地指针那样,使用0来表示空值。如果用0来初始化句柄,则数值0将被转换为该句柄引用的对象的类型,而这个新对象的地址将被存入该句柄中。
也可以显式地初始化句柄:
String^ saying = L"I used to think I was indecisive but now I'm not so sure";
该语句在堆上创建一个包含等号右边字符串的String对象,该新建对象的地址被存入saying中。注意,字符串字面值的类型是const wchar_t*,而非定义String类的方式使这样的字面值可以用来创建String类型的对象。