【C/C++】1.函数传入指针加const的作用及用法区别
在 C/C++ 中,const
用于定义常量,防止数据被意外修改。
★ 什么时候需要为指针加上const:
★ 假设我们有一个函数,传入的是一个指针 int *ptr
,以下是加上 const
的几种不同情况:
1. const int *ptr
或 int const *ptr
-
含义:指针
ptr
所指向的内容是常量,不能通过ptr
来修改这个内容,但指针ptr
本身可以指向其他地址。 -
示例:
2. int *const ptr
-
含义:指针
ptr
本身是常量,因此不能指向其他地址,但指向的内容可以修改。 -
示例:
3. const int *const ptr
或 int const *const ptr
-
含义:指针
ptr
本身和指向的内容都是常量,既不能修改ptr
所指向的内容,也不能让ptr
指向其他地址。 -
示例:
总结
const int *ptr
或int const *ptr
:指针指向的内容是常量,内容不可修改,但指针本身可以指向其他地址。int *const ptr
:指针本身是常量,指向的内容可以修改,但指针不能指向其他地址。const int *const ptr
:指针和指向的内容都是常量,既不能修改内容,也不能修改指针的地址。