c++11 各种类型转换

string 转char[]
char x[10];
strcpy(x, String .c_str());
String 转int
int i=  stoi( String );
String float
float f=stof( String );
String doubel
doubel d=stod( String );

Chat 转int
int i=atoi( Chat );

任意类型 转string
string= to_string(任意类型);

自动类型转换
在下列四种情况中计算机自动进行类型转换:
  • 在混合类型的算术表达式中
  • intival=3; doubledval=3.1415 ival+dval;//ival被提升为double类型:3.0
  • 用另外一种类型的表达式赋值
  • int*pi=NULL;//NULL(0)被转换成了int*类型的空指针值
  • 用一个表达式传递给一个函数调用
  • externdoublesqrt(double); sqrt(2);//2被提升为double类型:2.0
  • 从一个函数返回一个表达式
  • doubledifference(intival1,intival2) { returnival1-ival2;//返回值被提升为double类型. }

强制类型转换
C++显式转换包含四种转换:
用法:static_cast < type-id > ( expression )
说明:该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。
用法:dynamic_cast < type-id > (expression)
说明:该运算符把expression转换成type-id类型的对象。Type-id必须是类的指针、类的引用或者void*;
用法:const_cast<type_id> (expression)
说明:该运算符用来修改类型的const或volatile属性。除了const 或volatile修饰之外, type_id和expression的类型是一样的。
用法:reinterpret_cast<type-id> (expression)
说明:type-id 必须是一个指针、引用、算术类型、函数指针或者成员指针。它可以把一个指针转换成一个整数,也可以把一个整数转换成一个指针(先把一个指针转换成一个整数,在把该整数转换成原类型的指针,还可以得到原先的指针值)。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值