C++中,我们将数据传递给函数有四种方式:指向非const数据的非const指针、指向const数据的非const指针、指向非const数据的const指针,指向const数据的const的指针,每种方式都具有不同的访问权限。
1 const修饰指针
1.1 指向非const数据的非const指针
形如
int* pNum;
指向非const数据的非const指针具有最大的访问权限,可以通过间接引用指针修改所指向的数据,也可以修改指针使其指向其他数据。
1.2 指向const数据的非const指针
形如
const int* pNum;
指向const数据的非const指针可以被修改以指向其他适合类型的数据,当时不能通过该指针修改它所指向的数据。
1.3 指向非const数据的const指针
形如
int* const pNum;
指向非const数据的const指针始终指向同一个内存位置,可以通过该指针修改这个位置上的数据,但不能修改指针所指向的内存位地址。
1.4 指向const数据的const指针
形如
const int* const pNum;
指向const数据的const指针具有最小的访问权限。此种类型的指针始终指向内存中的相同位置,并且不能通过该指针修改所指向内存位置的数据,也不能修改指针所指向的内存地址。
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:C++ – const修饰符与指针
原文链接:https://www.stubbornhuang.com/2405/
发布于:2022年11月04日 11:41:01
修改于:2023年06月21日 17:53:30
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论
52