您的位置:首页 > 编程语言 > C语言/C++

C++中的&表示引用与取址的用法

2011-09-06 19:51 274 查看
从c++操作符也有&取地址。

应该说引用是左值,在定义是使用 例如 int &ix1 = ix;

取地址是右值,常在给指针赋值时使用。 例如: string *sp = &s;

另外,& 还可以用作逻辑运算符,是按位与。例如: expr & expr;

请按语境区分每种用法。

它们只是共用了一个符号&(就像<<在C里是左移运算符,而ostream将这个符号重载来让cout进行输出),但有不同的含义和用法。

C的地址符号&就是表示对一个变量(或者说一块存储区域)取地址,而C++中引用&更可以看作是一种类型的一部分,就像char *p中的*一样,由*和char构成了指向char的指针,所以只在声明定义一个引用的时候用到,而且必须赋初值,例如:

int a;

int &b = a;

这就表示b是a的一个引用,你可以理解为b是a的一个别名,它们表示了同一个存储空间,以后对b的访问(读或写操作)实际上就是对a进行操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: