指针与应用的区别:《程序员面试宝典的一道题目》

1、《程序员面试宝典》P66的一道题目很好的讲明白了引用与指针的区别:

#include<iostream>
using namespace std;
int main()
{
    int iv;
    int iv2=1024;
    int iv3=999;
    int &reiv;//错误:不能使用指向空值的引用,
    //所以引用在定义的时候就一定要初始化,不然会报错
    int &reiv2=iv;
    int *pi;
    *pi=5;//这里也是很严重的一个错误,指针pi并没有一个指向一个实际的指针,5付给pi后不知道放哪里,相当于给空指针赋值,问题很严重
    pi=&iv3;
    const double di;//const常量定义的时候一定要初始化
    const double maxWage=10.0;
    const double minWage=0.5;
    const double *pc=&maxWage;
    cout<<pi;
    system("PAUSE");
    return 0;

}

2、指针和引用有什么区别:

①非空性:任何情况下都不能使用一个指向空值的引用,也就是说引用在定义的时候就一定要初始化;但是指针则不然,指针可以指向空值

②可修改区别:指针可以被重新赋值以指向另一个不同的对象,但是引用则总是指向初始化时制定的对象

posted @ 2015-07-15 19:01  小白龙victory  阅读(221)  评论(0编辑  收藏  举报