C++学习笔记8 - 简单类型转换

#include <iostream>

//隐式转换  强制转换

void main()
{
	int a;
	int b;

	//sizeof(A) 是计算 括号中的类型 所占用的字节数的
	//A部分 可以写类型 可以写变量 可以写表达式
	//类型 和 变量 最终获取的都是 类型
	//表达式 会先得到结果 然后 获取结果的类型
	b = sizeof(int);
	b = sizeof(a);
	b = sizeof(1 + 1);

	//隐式转换
	char c = 1;	//此处有一次 隐式转换 int 被转换为 char 多余的字节被忽略
	short s = 2;

	//隐式转换 只要类型参与运算 那么 参与运算的类型就会被统一
	//1)如果参与的类型 没有比int 类型更大的 那么 统统会转成 int 类型
	//2)如果参与类型 有比 int 大的类型 那么所有参与者中 谁最大就统一转换成谁
	//3)如果类型的字节数 和 int 一样 那么 谁的精度高 就转换成 谁

	b = sizeof(c + s);
	b = sizeof(s + 1.5f);

	short d = c + s;	//此处会 隐式转换 3次  c 转 int  s 转 int
						//计算结果 为 int 赋值 给 d 会 转为 short

	//强制转换

	d = 100;

	std::cout<<d<<"\n";

	//此处就是强制转换了 d 变量 为 char 类型
	//但是 只有这句代码有效 过后 d 还是 short 类型
	//一个变量一旦定义好以后 其类型永远无法改变
	std::cout<<(char)d<<"\n";
	
	system("pause");
}

  

posted @ 2018-07-31 19:31  西门大神  阅读(110)  评论(0编辑  收藏  举报