当前位置:首页 C++ > 正文

c++const int *p和int *const p

作者:野牛程序员:2023-08-08 19:55:55 C++阅读 2623

const int *pint *const p 都涉及到 C++ 中的指针和 const 修饰符。它们的含义如下:

  1. const int *p 这是一个指向常量的指针。意味着指针 p 指向一个整数常量,你不能通过 p 修改所指向的值,但可以修改指针 p 指向另一个值。

    const int value = 5;
    const int *p = &value;
    
    // 错误,不能修改通过指针修改常量的值
    *p = 10;
    
    p = nullptr;  // 合法,可以修改指针的指向
  2. int *const p 这是一个指向整数的常量指针。意味着指针 p 是一个常量,不能通过 p 修改指针的指向,但可以通过 *p 修改所指向的值。

    int value = 5;
    int *const p = &value;
    
    *p = 10;  // 合法,可以通过指针修改值
    // 错误,不能修改常量指针的指向
    p = nullptr;

总之,const int *p 表示指向常量的指针,而 int *const p 表示常量指针。这两种声明在语义上有明显的差异,决定了你能否修改指针本身或指针所指向的值。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击