1. 程式人生 > >const_cast的使用_c++課程學習

const_cast的使用_c++課程學習

erro 指向 amp 改變 nbsp err log 課程 ast

    #if 0
    const   char *p; //常量指針:只能改變指針的指向,不能通過指針改變值,常用來做形參
    char *const  p;  //指針常量:只能通過指針改變值,不能改變指針的指向
    const   int *const p; //常量指針常量 值和指針的指向都不能改變
    #endif

    int ivalue = 100;
    const   int *cpi = &ivalue;
    //*cpi = 200;   //不能通過指針改變值

    //第1種:將常量指針轉換為非常量指針
    int *pi = const_cast<int
*>(cpi); *pi = 200; cout << *pi <<endl; //第2種:將非常量指針轉換為常量指針 const int *cpi2 = const_cast<const int *>(pi); cout << *cpi2 <<endl; int *const intpc = &ivalue; int value2; //intpc = &value2; //error:不能改變指針常量的指向 //ivalue = const_cast<int>(intpc);
//error: 不能將指針變量轉換為一般變量 const int VALUE = 200; //int value3 = const_cast<int>(VALUE); //error: 不能將常量轉換為一般變量 //-------- int value4 = 300; //const int civ = const_cast<const int>(value4); //error: 不能將一般變量轉換為常量

const_cast的使用_c++課程學習