C/C++におけるconstの役割

879 ワード

1 const変数
CでもC++でもconst変数は定数を表し、その値は定義時にのみ初期化され、その後は変更できません.
const int a = 1; //     1,       

2 constポインタ
2.1 constのポインタ
このポインタ自体は変更できませんので、定義時に初期化する必要があります.
int a;
int* const p = &a; //       

注意:このポインタは可変ではありませんが、その内容は可変です.
2.2 constへのポインタ
この針が指す内容は修正できません.2つの書き方があります(constは*の左側にあります).
const int* p; //(  )
int const* p;

2.3総合
上記の2つの状況を組み合わせてもよい.
/*                          */
const int* const p4=&a;
int const* const p5=&b; 

3 const関数
C++はconstを使用して関数を修飾できます.
class A
{
	int func() const;	//          a  ,        
	private:
		int a;
}

A::func() const
{
	a++;			//   ,   a        
	return a;
}

参考資料
[1]constポインタとconstを指すポインタ