单片机/C/C++八股:(十七)C++ 中指针和引用的区别
上一篇下一篇C 中 malloc/free 和 C 中 new/delete 有什么区别C 中指针和引用的区别指针Pointer和引用Reference是 C 中两种用于间接访问对象的机制但它们在本质、行为和使用规则上有根本区别。本质不同指针是一个变量存储的是另一个变量的内存地址。引用是某个变量的别名alias不是独立对象不占用额外存储空间编译器通常用指针实现但语义上不是指针。符号不同指针用*引用用初始化要求指针可以不初始化但使用前必须赋值可指向nullptr。引用必须在定义时初始化且不能为 null一旦绑定就不能更改。可变性是否可重新赋值指针可以改变指向即可以指向其他对象。引用一旦绑定终身不变不能重新绑定到其他对象。空值null支持指针可以为nullptr或NULL。引用不能为 null不存在“空引用”。sizeof 结果sizeof(指针)返回指针本身的大小如 8 字节 on 64-bit。sizeof(引用)返回被引用对象的大小因为引用就是别名。作为函数参数指针传参传递的是地址的拷贝可通过解引用修改原变量。引用传参直接操作原变量语法更简洁、安全无空指针风险。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2433896.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!