C++ primer 4.11 类型转换/char*与char[]转换
隐式转换被设计得尽可能避免损失精度
static_cast 任何具有明确定义的类型转换,只要不包含底层const,都可以使用static_cast;
const_cast只能改变运算对象的底层const,不能改变表达式的类型;
reinterpret_cast通常为运算对象的位模式提供较低层次上的从新解释,可以把运算对象的内容解释称另外一种类型。
char*类型的变量可以记录至'\0',例如:
char c[]="123";
char *cc=c;//此时cc代表的字符串为"123\0",同时cc指向'1'
char c[]={'1','2','3'};
char *cc=c;//此时cc代表的字符串中字符无效,但是cc指向'1'
char c[]={'1','2','3','\0'};
char *cc=c;//此时cc代表的字符串为"123\0",同时cc指向'1'
必须用结尾为'\0'的char*或char[]来初始化string