zoukankan      html  css  js  c++  java
  • 用const修饰指针

    其实很简单,无奈老是记不住,那就单独写出来吧!

    a.指针本身不可变,即不可指向其他对象:

    char* const pContent = “abcde”;

    pContent[2] = ‘f’;     //合法

    pContent = “abfde”;    //不合法

    b.指针所指向的对象不可变,即指针不可以修改所指向的对象

    const char *pContent = “abcde”; //或者

    char const *pContent = “abcde”;     //上下两种情况相同

    pContent[2] = ‘f’;     //不合法

    pContent = “abfde”;    //合法

    c.两者都不可变

    const char* const pContent; //指向const对象的const指针

    pContent[2] = ‘f’;     //不合法

    pContent = “abfde”;    //不合法

    识别const到底是修饰指针本身还是指针所指的对象,还有一个较为简便的方法,也就是沿着*号划一条竖线,把声明语句从*号处分成左右两部分:

    如果const位于*的左侧,则const修饰指针所指向的对象,即指针指向的对象不可变,但可以指向其他对象;

    如果const位于*的右侧,则const修饰指针本身,即指针本身不可指向其他对象,但是可以修改对象内部的值。

  • 相关阅读:
    论登陆博客园的时候忘记了密码
    LNOI 2019 旁观记
    [bzoj3790] 神奇项链
    [POI2000] 病毒
    [HAOI2008] 移动玩具
    [codevs1288] 埃及分数
    [hdu1401] Solitaire
    [洛谷P3806] [模板] 点分治1
    [国家集训队] 聪聪可可
    [洛谷P4178] Tree
  • 原文地址:https://www.cnblogs.com/superpig0501/p/3980034.html
Copyright © 2011-2022 走看看