【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:指针和指向的内容都是常量,既不能修改内容,也不能修改指针的地址。