1)int&p = n和int * q =&n在此代码中有什么不同,它们执行相同的操作。 2)正确执行什么操作(可能会返回addres变量或其他内容?)
void foo(int &p){
p++;
}
int main(){
int n = 5;
foo(n);
int &p= n;
int *q = &n;
cout << *q;
cout << p;
}
答案 0 :(得分:1)
int&p = n;
p
是一个(非常量)int
引用,它引用类型为int
的对象,并具有关联的名称{{1} }。有关详细信息,请参见Reference declaration。
int * q =&n;
n
是指向(非常量)q
对象的(非常量)指针,其中使用了变量int
的 address 初始化指针;特别是通过使用address-of operator &
(n
)。 Pointer declaration了解详情。
答案 1 :(得分:0)
1)int&p = n和int * q =&n
有什么区别
import { Storage } from '@ionic/storage';
constructor(private storage: Storage) { }
this.storage.get('firstOpening').then((firstOpening) => {
if (!firstOpening) {
//Open onboarding modal or navigate to page
}
});
是对对象的左值引用,this.storage.set("firstOpening", true);
是对对象的指针。
引用和指针之间的一些区别:
2)确切地做什么(也许会返回addres变量?)
在复合类型名称中,p
表示该类型是引用。在表达式中,一元运算符q
是运算符的地址。