C++ 指针操作

来源:互联网 发布:阿里云服务器代理 编辑:程序博客网 时间:2024/05/28 03:02


  1. 几种操作符
    • *   解引用操作符:
      • 返回指定对象的左值:可以修改指针所指对象的值
      • string st ="123";sp = &str; *sp = "abc";
      • 与引用的区别
        • 引用必须在定义是初始化
        • 对引用的赋值操作,修改的是引用的对象;对指针的操作,修改的是指针的指向
    • &   取地址操作符:作用在一个对象上时,返回的是该对象的存储地址;只能用于左值。

    • ++  自增操作:

    • 输出指针的内容(即所指向的对象的地址)

      • 常规类型:cout<<p;

      • char*指针时,cout<<p;输出的是字符数组的第一个字符;可以先转换为void指针 static_cast<const void*>(p),就可以输出指针的内容

  2. 初始化和赋值约束
    1. 0值常量表达式:编译时可获得0值的整形const对象或者字面值常量为0; const int a=0;
    2. 类型匹配的对象的地址
    3. 另一个对象之后的下一地址
    4. 同类型的另一个有效指针

  3. void 指针
    1. 可以保存任何类型对象的地址
    2. 支持的操作:
      1. 与另一个指针比较
      2. 传参或者返回
      3. 给另外一个void指针赋值
  4. cosnt 和指针
    1. const 指针: int * const ptr = &a;
    2. 指向const对象的指针:const int * ptr;
    3. 指向const对象的const指针:const int * const ptr = &a;
0 0
原创粉丝点击