指针和const笔记

1.让指针指向一个常量对象,这样可以防止使用该指针来修改所指向的值。

即指向的内容固定,这个指针可以指向其他的地方,但是不能改变所指向的内容

  例子:

  int a = 1;

  const int *p = &a;(初始化指针时别忘了取地址符)

  a可以改变,p也可以改变;但是不能通过p改变a,即*p不能改变

这种指针可以指向常量对象,也可以指向不是常量的对象。但是const对象只能使用这种指向常量的指针;

将指针参数声明为指向常量数据的指针有两个优点

  (1)使用const可以保护数据,避免由于无意间修改数据而导致的错误

  (2)使用const使得函数能够处理const和非const实参,否则只能接收非const数据

所以如果条件允许,应该将指针形参声明为指向const的指针

2.将指针本身声明为一个常量,这样可以防止改变指针指向的位置,但是可以通过指针来改变内容的值

  例子:

  int a = 1;

  int * const p = &a;

  这里就是p不能改变,只能指向a的地址,但是a可以改变

3.  const int * const  p = &a;

  这个就是固定指向地址和内容

猜你喜欢

转载自www.cnblogs.com/syne-cllf/p/9218769.html