我们添加了两个短裤!

来源:互联网 发布:天才密码少儿编程 编辑:程序博客网 时间:2024/06/08 00:18
我们可以看到常用算术转换可以通过使用的typeid()算子的地方(包括在TypeInfo头),它可以用来显示所得类型表达式。

在下面的例子中,我们添加了两个短裤:

#include <iostream>#include <typeinfo> // for typeid() int main(){    short a(4);    short b(5);    std::cout << typeid(a + b).name() << " " << a + b << std::endl; // show us the type of a + b     return 0;}

因为短裤是整数,它们经过积分推广到整数前加。添加两个数的结果是int型,像你希望的那样:
INT 9
注意:你的编译器可能会显示一些稍有不同的是typeid的格式。()是由编译器。
让我们来看一看另一个例子:

#include <iostream>#include <typeinfo> // for typeid() int main(){    double d(4.0);    short s(2);    std::cout << typeid(d + s).name() << " " << d + s << std::endl; // show us the type of d + s     return 0;}

在此情况下,短期经过积分推广到int的然而,int和double仍不匹配。由于双是较高的类型的层次结构,整数2被转换为双2,和增加一倍,以产生一个双重结果。
双6

0 0