C++引用与指针

来源:互联网 发布:数据库查询工具 编辑:程序博客网 时间:2024/05/18 02:18

 指针(pointer)说白了就是保存的另一个对象在内存中分配的地址,就是内存中的地址。而引用(reference)相当于是变量的别名,定义的引用在内存中应该没有分配地址。

比如int i=10;int &j=i; cout<<&j这里输出的j的地址与变量i的地址相同。对引用的直接操作相当于对引用的对象进行操作。例如:j=8;则此时i的值便变为8 。

指针变量本身在内存中时分配了空间的,它保存的是该指针指向对象在内存中的地址。比如int i=10;int *p=&i;

此时p指向的是变量i,cout<<p的话输出的是i在内存中的地址。可以通过解引用符(*)实现对指针所指向对象的操作。例如:*p=6;则此时变量i的值变为6.

 

#include<iostream>using namespace std;int main(){int i=10;int &j=i;int *p=&i;cout<<j<<" "<<p<<" "<<&j<<" "<<&p<<endl;*p=6;cout<<i<<" ";j=8;cout<<i<<endl;cin>>i;return 0;}


 

原创粉丝点击