在下面的代码中,recordedModel()返回对Model. 该函数期望返回一个指针,C++ 中有没有办法将引用转换为指针?
6173 次
1 回答
3
C++中有没有办法将引用转换为指针?
由于引用不是对象,它们没有地址,也不能有指向引用的指针。
但是,是的,您可以获得指向引用对象的指针。有地址操作符&,它返回一个对象的地址。地址值的类型是指针。address-of 运算符是间接运算符的逆操作*,它将内存地址(指针)作为操作数,并产生一个存储在该地址处的左值对象。当应用于引用时,地址运算符将返回被引用对象的地址。
请注意,地址运算符可以重载,因此在您可能不知道类型具有重载的泛型代码中,如果获取对象的实际地址而不是重载可能返回的其他地址很重要, 那么std::addressof应该使用函数而不是地址运算符。
于 2018-08-23T15:27:55.607 回答