首先来看几个句子:
1 const int a;
2 int const a;
3 const int *a;
4 int* const a;
5 int const * a const;
1和2的作用是一样的 ,a是一个整形常数。
3说明a是一个指向整形常数的指针(虽然整形常数不可修改,但指针可以修改的)。
4的意思是a是一个指向整形数的常指针(指针指向的整形数是可以修改的,但指针是不可修改的)。
5意味着a是一个指向长整型的常指针(同理,两者都不能更改)
合理的使用关键字const可以使编译器很自然地保护那些不希望被改变的参数,防止其被无意的代码修改,减少BUG的出现!