C++指向对象的常指针

Posted LC编程开发者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++指向对象的常指针相关的知识,希望对你有一定的参考价值。

指向对象的常指针

       定义一个指针对象的时候,可以使用const关键字修饰,定义为常指针。那么,当给常指针对象初始化赋值之后,就不可以再修改常指针的值。

       程序测试例子如下:

       编译异常结果如下:

       提示ps指针是read-only类型,不可以修改它的值。就是说,在执行ps = &stud1;语句的时候,是非法的操作。

       因为,指针对象ps是const 类型。它已经初始化为指向stud对象。然后,再执行:

ps = &stud1;

       修改const对象指针ps的值,指向另一个对象,导致异常。

       定义指向对象的常指针的一般形式为:

类名* const 指针变量名 = 对象地址;

请注意:指向对象的常指针变量的值不能改变,即始终指向同一个对象,但可以改变其所指向对象(如stud)中成员变量的值。

就是说,可改变 ps 指向对象的的成员变量,但是,ps是常量指针,它的值不可以改变,所以,ps 的值不能够改变,即不能够指向别的对象。

       往往用常指针作为函数的形参,目的是不允许在函数执行过程中改变指针变量的值,使其始终指向原来的对象。如果在函数执行过程中修改了该形参的值,编译系统就会发现错误,给出错误信息,这样比用人工来保证形参值不被修改更可靠。

韦凯峰 Linux C/C++ 程序设计教程,Linux 系统编程,Openwrt 系统开发,微信:13926572996,QQ:1523520001,博客:www.mylinux.vip

以上是关于C++指向对象的常指针的主要内容,如果未能解决你的问题,请参考以下文章

12.3 C++常指针

12.3 C++常指针

12.3 C++常指针

12.3 C++常指针

C++ const 修饰符

C++类中的常成员和静态成员