[C++]const的指针使用

1.指向const常量的指针

如下代码编译不通过,因为minWage是const,而非const指针指向minWage之后可以随意更改其值,const也就无效了,所以编译器约定不允许这样使用。

const double minWage = 9.60;

double *ptr = &minWage;

正确的写法是这样:pc被定义成一个指向const常量的指针

const double minWage = 9.60;
const double *pc = &minWage;

*pc = 3.14159; // 错误

但是:pc指针是变量,不是const的,所以可以指向其他变量。

double dval = 3.14;
pc = &dval;


2.const常量指针

int errNumb = 0;
int *const curErr = &errNumb;

该指针可以指向常量,也可以指向变量,该指针不能被重新赋值,但如果其指向的是变量、可以修改指针指向的变量的值。

*curErr = 0; // ok: 重置指针所指的对象

3.指向常量的常量指针

const double pi = 3.14159;
const double *const pi_ptr = π

该指针不能指向其他变量,也不能修改指针指向的常量的值。
原文链接: https://www.cnblogs.com/fjfjfjfjfjfj/archive/2013/03/19/2969174.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/81200

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月9日 下午7:56
下一篇 2023年2月9日 下午7:57

相关推荐