“指向const对象的指针”和“const指针”

2014-11-18 19:25:00 · 作者: · 浏览: 26

  const对象定义的时候必须初始化。“指向const对象的指针”定义的时候可以不初始化,因为指针本身不是const,可以让指针指到另一个对象。“const指针”定义的时候必须初始化,因为它是常量。


  const double dvall = 3.15;


  const double *cpd;


  const double val1 = 3.15;


  double val2 = 5.55;


  const double *cpd;


  //double *const cp = &val1; //error: cp是const的指针,不是指向const对象的指针,所以不能指向const对象val1。


  const double *const ccp = &val1; //ccp是指向const对象的const指针,必须定义的时候初始化。


  double d = 5.6;


  const double *me = &d; //error: 编译器提示:“const double *”与“size_t”的间接寻址级别不同


  int inte = 5;


  const int *pp = &inte; //right


  编辑特别推荐: