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()
备注
的转换将返回对象,但不是左值。