引用不同类型的变量

时间:2012-09-14 12:25:56

标签: c++ reference

是否可以创建另一个数据类型的引用,引用不同数据类型的变量?

LPWSTR Buffer = new WCHAR[BUFFER_LEN];
LPBYTE& rfBuffer = (LPBYTE&) Buffer;
//Compiles but rfBuffer is BAD

2 个答案:

答案 0 :(得分:2)

是。语法T x = (T&)y告诉编译器将变量y占用的内存视为T所在的内存。但这只是对语言的严重滥用。

答案 1 :(得分:0)

参考是隐含的指向者。它们保存原始对象的地址,但在语法上表现为对象本身。根据此MSDN article任何其地址可以转换为给定指针类型的对象也可以转换为类似的引用类型