代码改变世界

c++类型转换

2014-07-18 22:09  钱吉  阅读(209)  评论(0编辑  收藏  举报

一:implicit cast

二:explicit cast

  • const_cast
  • static_cast
  • dynamic_cast
  • reinterpret_cast
    const char *pArray = "helloworld";
    //char *pNonConst = pArray;//cannot convert from 'const char *' to 'char *'
    char *pNonConst = const_cast<char*>(pArray);//right, ;
    //*pNonConst = 'a';//this is undefined
    //*pArray = 'b';//error:cannot assign to a variable that is const
    cout<<*pArray<<endl;
    cout<<*pNonConst<<endl;

 

Reference:

http://en.cppreference.com/w/cpp/language/implicit_cast

http://www.cnblogs.com/ider/archive/2011/07/22/cpp_cast_operator_part2.html

http://www.cnblogs.com/chio/archive/2007/07/18/822389.html#commentform