您的位置:首页 > 其它

我认识的指针和引用的比较

2014-08-30 12:41 197 查看
指针和引用的比较

1.引用必须有初始值

string &rs;//error

string *ps;//ok



string s("xyz");

string &s1=s;

}//ok

2.reference比pointer更有效率

原因就是:pointer需要检查是否为NULL

void print_int(const int & ri){

cout<<ri<<endl;

}

void print_int(const int *pi){

if(pi)
cout<< *pi << endl;
}

3.pointer可以被重新赋值,指向另一个对象,reference总是指向最初指向的那个对象

string s1("nancy");string s2("cancy");

string &rs=s1;

string *ps=s1;

rs=s2;//此时rs仍然指向s1只是里面的内容被s2替换了,即s1=“cancy”

ps=&s2;//ps此时改变了指向,指向了s2

另外在使用指针和引用的时候,当我们确定某一个对象会实时存在时,建议用引用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: