据我所知,引用只是变量的另一个名称,而指针是它们自己的变量.指针占用空间.人们经常说“使用引用或指针”,但他们并没有说哪个更好.如果引用不占用自己的记忆,则引用在该部门中获胜.我不知道的是编译器是否区分了引用和普通变量.如果对引用执行操作,它是否编译为与普通变量相同的代码?
解决方法
内部引用也是根据指针实现的.因此,很难说哪个是更快的指针/引用.
这两种用法有所不同.
例如,您希望通过引用将参数传递给函数.
void func(int& a) case_1 { //No need to check for NULL reference... } void func(int* a) case_2 { //Need o check if pointer is not NULL }
在case_2中,你必须在解除它之前显式检查指针是否为NULL,而引用则不是这种情况,因为引用被初始化为某种东西.
假设你是以文明的方式玩游戏,即
你没有这样做: –
int*p = NULL; int &a = *p;
原文地址:https://www.jb51.cc/c/118867.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。