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++指向对象的常指针的主要内容,如果未能解决你的问题,请参考以下文章