标准转换

C++ 语言定义其基础类型之间的转换。 它还定义指针、引用和指向成员的指针派生类型的转换。 这些转换称为“标准转换”。(有关类型、标准类型和派生类型的详细信息,请参阅类型。)

本节讨论下列标准转换:

以下代码将导致转换(本例中为整型提升):

long  lnum1, lnum2;
int   inum;

// inum promoted to type long prior to assignment.
lnum1 = inum;

// inum promoted to type long prior to multiplication.
lnum2 = inum * lnum2;

备注

仅当转换生成引用类型时,其结果才为左值。例如,声明为

operator int&()

备注

的用户定义的转换将返回引用,并且是左值。但是,声明为

operator int()

备注

的转换将返回对象,但不是左值。

请参见

其他资源

C++ 语言参考