![](/img/trans.png)
[英]What should be the arguments/declaration for ofstream in int main in C++?
[英]What is int *(&) declaration in C++
也许你对括号感到困惑,让我们删除它们:
int *& q = p;
也许您对*
和&
的组合形成对指针的引用感到困惑,所以让我们尝试一些混淆:
using T = int*; // T is alias for pointer to int
T& q = p;
T& q = p;
将q
声明为对T
的引用,并使用p
初始化该引用。
请注意,C 没有引用,因为 C++ 有引用。
int *(&q)
声明对指针的引用。 括号没有任何作用,也可以写成int *&q
。 这是创建指针名称别名的一种毫无意义(双关语意)的方式。 几乎一样的东西
int a;
int& ref = a;
但是*&
创建了对指针本身的引用,而不是指向它指向的数据的引用。
通常不会在同一上下文中混合引用和指针,或者至少我不能为此想出一个合理的用例,但它是有效的语法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.