如何解决int&p = n;有什么区别? int * q =&n ;?
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;
}
解决方法
int&p = n;
p
是一个(非常量)int
引用,它引用类型为int
的对象,并具有关联的名称{{1} }。有关详细信息,请参见Reference declaration。
int * q =&n;
n
是指向(非常量)q
对象的(非常量)指针,其中使用了变量int
的 address 初始化指针;特别是通过使用address-of operator &
(n
)。 Pointer declaration了解详情。
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);
是对对象的指针。
引用和指针之间的一些区别:
- 不能引用其他对象。指针可以重新分配以指向另一个对象。
- 指针可以指向null。引用不能引用null。
- 通过引用的间接引用是隐式的,而通过指针的间接引用则需要使用间接引用运算符。
2)确切地做什么(也许会返回addres变量?)
在复合类型名称中,p
表示该类型是引用。在表达式中,一元运算符q
是运算符的地址。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。