是否可以创建另一个数据类型的引用来引用不同数据类型的变量?
LPWSTR Buffer = new WCHAR[BUFFER_LEN];
LPBYTE& rfBuffer = (LPBYTE&) Buffer;
//Compiles but rfBuffer is BAD
是的。该语法T x = (T&)y
告诉编译器将变量占用的内存视为y
aT
位于那里。但这只是对语言的严重滥用。
引用是隐含的指针。它们保存原始对象的地址,但在语法上与对象本身一样。根据这篇 MSDN文章:任何地址可以转换为给定指针类型的对象也可以转换为类似的引用类型