您的位置:首页 > 汽车 > 时评 > 手游制作软件_网站建设基地_爱站网反链查询_web前端培训费用大概多少

手游制作软件_网站建设基地_爱站网反链查询_web前端培训费用大概多少

2024/12/28 22:06:01 来源:https://blog.csdn.net/u014200244/article/details/144514673  浏览:    关键词:手游制作软件_网站建设基地_爱站网反链查询_web前端培训费用大概多少
手游制作软件_网站建设基地_爱站网反链查询_web前端培训费用大概多少

在 C++ 中,指针常量(const 指针)和常量指针(指向常量的指针)有显著区别。我们可以通过简单的例子来说明。

1. 指针常量(Constant Pointer)

指针常量是指“指针本身是常量”,即指针的值(地址)不能改变,但是指针指向的对象的值是可以改变的。也就是,指针不能指向其他地址,但可以修改其指向的值。

语法

int* const ptr;

2. 常量指针(Pointer to Constant)

常量指针是指“指针指向的对象是常量”,即指针指向的数据不能被修改,但是指针本身是可以改变的。

语法

const int* ptr;

3. 常量指针与指针常量区别

  • 指针常量:指针本身是常量,不能指向其他位置。
  • 常量指针:指向的内容是常量,不能修改内容,但指针本身可以改变。

示例代码:

#include <iostream>int main() {// 定义指针常量int a = 10, b = 20;int* const ptr1 = &a;  // 指针常量,ptr1 一直指向 a// ptr1 = &b;  // 错误,不能修改 ptr1 的地址std::cout << "指针常量 ptr1 指向的值: " << *ptr1 << std::endl;*ptr1 = 30;  // 允许修改 ptr1 指向的值std::cout << "修改 ptr1 指向的值后: " << *ptr1 << std::endl;// 定义常量指针const int* ptr2 = &a;  // 常量指针,ptr2 可以指向不同地址,但不能修改所指向的值// *ptr2 = 15;  // 错误,不能修改 ptr2 指向的值ptr2 = &b;  // 允许修改 ptr2 的地址std::cout << "常量指针 ptr2 指向的值: " << *ptr2 << std::endl;return 0;
}

运行结果:

指针常量 ptr1 指向的值: 10 修改 ptr1 指向的值后: 30 常量指针 ptr2 指向的值: 20

解释:

  1. 指针常量(ptr1
    • ptr1 是一个指针常量,最初指向 a,不能更改指针的值(即不能指向 b),但可以通过 ptr1 修改 a 的值。
  2. 常量指针(ptr2
    • ptr2 是一个常量指针,指向 a,不能通过 ptr2 修改 a 的值,但可以让 ptr2 指向 b(改变指针的地址)。

总结:

  • 指针常量int* const ptr):指针不可改变,但指向的数据可以改变。
  • 常量指针const int* ptr):数据不可改变,但指针可以改变。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com