指向const对象的指针 const指针的理解

指向const对象的指针 const指针的理解
#include <QtCore/QCoreApplication>
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char *argv[])
{
    QCoreApplication qa(argc, argv);

    //指向const对象的指针:不可以改变指针所指向的值,可以改变指针指向
    const double a = 1.1;
    const double temp = 2.2;
    const double *p =&a;
    //*p = 3.3;//error
    p = &temp;
    cout<<*p<<endl;

    //const指针: 不可以改变指针的指向,可以改变值
   double b = 4.4;
   double *const pp = &b;
   //pp = &a; error
   *pp = 5.5;
   cout<<*pp<<endl;

   //指向const对象的const指针:不可以不可以改变指针所指向的值,不可以改变指针的指向
    const double c = 6.6;
    const double temp2 = 7.7;
    const double *const ppp = &c;
//    ppp = &temp2;error
//    *ppp = 8.8;//error
    cout<<*ppp<<endl;
    return qa.exec();
}

猜你喜欢

转载自ynp.iteye.com/blog/1264805