C++(基础篇): const与别名

const与指针的写法:

      const int *p = NULL;
      int const *p = NULL;

这2种是等价的。

但是还有一种写法和上面的写法有区别:

int * const p = NULL;

还有2种写法是等价的:

        const int * const p = NULL;
        int const * const p = NULL;

const与指针类型的组合的易错示例:

1.

可以继续改变其指向(存储地址),但是不能修改值内容
        int x = 3;
        const int * p = &x;
        p = &y; 正确
        *p = 4; 错误

2. 

const所修饰的p只能指向一个地址,不能更改地址指向
    int x = 3;
    int *const p = &x;
    p = &y; 错误

3.

不能使用通过p修改x本身的值也不能通过p指向其他的变量
    const int x = 3;
    const int *const p= &x;
    p = &y; 错误
    *p = 4; 错误

const与引用:

const与指针的相互赋值的问题:


别名(引用):

发布了268 篇原创文章 · 获赞 36 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/qq_39969226/article/details/104025949