升级和扩展之间有区别,我听说扩展仅描述整体升级。

最佳答案

“典型地”加宽是指整数/浮点类型(例如,将char转换为long或将float转换为double),但也可以指字符加宽(例如,从char类型转换为wchar_t类型)。

变宽的转换也称为“促销”,变窄的转换也称为“强制”。

OO中也可以使用“促进”和“强制”的概念,因为(多态性)也是如此。如将基类提升为派生类型,或将派生类型强制转换为基。在这种情况下,由于它仍然是“扩大”和“变窄”的,因为用于基址的地址空间比派生类型“小”(因此,当“向上转换”时,您将扩大/提升您的类型,或者缩小/强制您的类型在“向下转换”时输入)。

因此,直接回答一下:Is there's a difference between promotion and widening ..不是真的(除非您感到 Nerd ),尽管如果我在谈论非整数的话,我可能不会说“扩大类类型”而不是“促进类类型”(只是为了避免任何可能的初始混淆)。

关于c++ - 提升和扩大是一回事吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28185617/

10-10 05:18