什么';这两者之间的区别是什么&&引用;在这个节目里 是C++程序的一部分: Circle circle1, &circle2 = circle1, *p = &circle2;
我想知道那里的两个什么';这两者之间的区别是什么&&引用;在这个节目里 是C++程序的一部分: Circle circle1, &circle2 = circle1, *p = &circle2;,c++,operator-keyword,C++,Operator Keyword,我想知道那里的两个&之间有什么区别?非常感谢。第一个(使用&)是声明一个圆引用,后者是获取圈2的内存地址的运算符地址。第一个(使用&)声明一个圆引用,后者是用于获取圆2的内存地址的运算符地址 Circle circle1, &circle2 = circle1, *p = &circle2; 相当于: Circle circle1; Circle &circle2 = circle1; // & is used to declare a reference v
&
之间有什么区别?非常感谢。第一个(使用&
)是声明一个圆引用,后者是获取圈2的内存地址的运算符地址。第一个(使用&
)声明一个圆引用,后者是用于获取圆2
的内存地址的运算符地址
Circle circle1, &circle2 = circle1, *p = &circle2;
相当于:
Circle circle1;
Circle &circle2 = circle1; // & is used to declare a reference variable
Circle *p = &circle2; // & is used to take the address of circle2
相当于:
Circle circle1;
Circle &circle2 = circle1; // & is used to declare a reference variable
Circle *p = &circle2; // & is used to take the address of circle2
它们有两种截然不同的含义。如果你把条款分开,就更容易看出来了
Circle circle1; // A Circle object
Circle& circle2 = circle1; // A Circle reference
Circle* p = &circle2; // A Circle pointer takes the address of a Circle object
在第二行中,您声明了对圆的引用
第三行是一个圆圈的地址
因此,第二行使用&
来声明引用类型
第三行使用和作为操作符的地址。它们有两种截然不同的含义。如果你把条款分开,就更容易看出来了
Circle circle1; // A Circle object
Circle& circle2 = circle1; // A Circle reference
Circle* p = &circle2; // A Circle pointer takes the address of a Circle object
在第二行中,您声明了对圆的引用
第三行是一个圆圈的地址
因此,第二行使用&
来声明引用类型
第三行使用&
作为操作员的地址。您没有包含任何代码读取此:您没有包含任何代码读取此: