C++指针与地址引用

来源:互联网 发布:猎头 候选人推荐算法 编辑:程序博客网 时间:2024/06/06 00:44


看下面这个例子:


#include <iostream>int main(){    int *a=new int; // 初始化整型指针a,给a分配一个存储空间。    *a=4; // 给a指向的空间赋值    const int *b=a; // 把a的值赋给指针b,但(*b)是只读的类型。    //b++; // 指针是可以自增减的。    //(*b)++; // 错误,(*b)不能用于改变它所指向的数据,因为 它是const int类型,。    (*a)++;    const int * d = a;    std::cout <<a<<", "<<*a<<std::endl;    std::cout <<b<<", "<<*b<<std::endl;        int & c = *a;    c++; // c就是与a所指向的整数的一个引用整数,可以看成一个别名。    std::cout <<a<<", "<<*a<<std::endl;    std::cout <<b<<", "<<*b<<std::endl;        int * e = &*a; // 与 int *e = a;等价    (*e)++;    std::cout <<a<<", "<<*a<<std::endl;    std::cout <<b<<", "<<*b<<std::endl;    return 0;}



参考:

http://www.cplusplus.com/forum/beginner/3958/

http://stackoverflow.com/questions/16071305/pass-pointers-to-objects-by-constant-reference-in-c


0 0
原创粉丝点击