指针和引用小小总结~~

tech2025-04-13  3

指针需要被解引用才能对对象进行操作,而引用却可以直接对对象进行操作;

#include<iostream> #include<vector> using namespace std; int main() { int a=0; int* p = &a; *p;//*p是指针的解引用,才能改变对象值 *p = *p + 2; cout << a << endl; int& idex = a;//idex为变量的别名,直接操作可以改变对象的值 idex += 2; cout << a << endl; }

以下是输出的结果:

解引用的定义:返回内存地址中保存的值; 以上是其中的一个介绍: 接下来总结如下: 1.指针有自己的一块空间,而引用只是一个别名; 2.使用sizeof看一个指针的大小是4,而引用则是被引用对象的大小; 3.指针可以被初始化为NULL,而引用必须被初始化且必须是一个已有对象 的引用; 4.作为参数传递时,指针需要被解引用才可以对对象进行操作,而直接对引 用的修改都会改变引用所指向的对象; 5.可以有const指针,但是没有const引用; 6.指针在使用中可以指向其它对象,但是引用只能是一个对象的引用,不能 被改变; 7.指针可以有多级指针(**p),而引用至于一级; 8.指针和引用使用++运算符的意义不一样; 9.如果返回动态内存分配的对象或者内存,必须使用指针,引用可能引起内存泄露。 参考文献: 牛客:https://www.nowcoder.com/tutorial/93/a34ed23d58b84da3a707c70371f59c21 博客:https://zhidao.baidu.com/question/986855688885155779.html?qbl=relate_question_0&word=%BD%E2%D2%FD%D3%C3

最新回复(0)