常量指针
语法
const 变量类型* 变量名
常量指针不能通过指针修改内存中存放的内容
其指向是可以改的
指针常量
语法
变量类型* const 变量名;
其指向的内存中的内容是可以修改的
其指向的内存地址是不可以修改的
常量指针常量
语法
const 变量类型 * const 变量名;
无论是其指向的地址还是指向的地址的内容都不改修改
示例
#include <iostream>
int main()
{
const int a{ 1 };
const int* ptr1{ &a };
std::cout << "ptr1:" << ptr1 << "\t*ptr1:" << *ptr1 << std::endl;
int b{ 2 };
int* const ptr2{ &b };
std::cout << "ptr2:" << ptr2 << "\t*ptr2:" << *ptr2 << std::endl;
const int* const ptr3{ &a };
std::cout << "ptr3:" << ptr3 << "\t*ptr3:" << *ptr3 << std::endl;
}