[C&C ++レコード学習]ポインターと定数

const変更ポインタには3つのケースがあります

  1. const変更済みポインター---定数ポインター

  2. const変更定数---ポインタ定数

  3. constはポインターを変更し、定数を変更します

1.const変更されたポインター---定数ポインター

constはポインターを変更し、ポインターポイントは変更でき、ポインターが指す値は変更できません。

int a = 10;
int b = 10;
		

//const修饰的是指针,指针指向可以改,指针指向的值不可以更改
const int * p1 = &a;
p1 = &b; //正确
// *p1 = 100; // 报错

int const * a; //同上

p1は、定数ポインターと呼ばれる、int型のconstオブジェクトへのポインターです。

注:const定数)int *ポインター)p。constの後に*が続くため、* pは変更できませんが、pは変更できます。

2.const変更定数---ポインタ定数

constは定数を変更し、ポインターポイントは変更できず、ポインターが指す値は変更できます

int a = 10;
int b = 10;


//const修饰的是常量,指针指向不可以改,指针指向的值可以更改
int * const p2 = &a;
//p2 = &b; //错误
*p2 = 100; //正确

名前が示すように、ポインター定数は定数ですが、ポインターによって変更されます。

注:int *ポインターconst定数)p2。constの後にp2が続くため、p2は変更できませんが、* p2は変更できます。

3.constはポインターと定数を変更します

int a = 10;
int b = 10;


//const既修饰指针又修饰常量
const int * const p3 = &a;
//p3 = &b; //错误
//*p3 = 100; //错误

p3はconstポインターであり、int型のconstオブジェクトを指します。これは、定数への定数ポインターと呼ばれます。

おすすめ

転載: blog.csdn.net/Zhouzi_heng/article/details/112340636