码迷,mamicode.com
首页 > 编程语言 > 详细

const_cast的使用_c++课程学习

时间:2017-08-04 17:36:28      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:bsp   logs   nbsp   --   amp   const   error   不能   ntp   

    #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++课程学习

标签:bsp   logs   nbsp   --   amp   const   error   不能   ntp   

原文地址:http://www.cnblogs.com/linuxAndMcu/p/7286217.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!