August 2021
Intermediate to advanced
450 pages
5h 35m
Chinese
接受单个参数的构造函数定义了从参数类型到类类型的转换。例如,complex(参见4.2.1节)提供了一个接受double的构造函数:
这种隐式类型转换有时候很理想,有时候则不然。例如,Vector(参见4.2.2节)提供了一个接受int的构造函数:
这通常会被认为是一个不幸的结果,而且标准库vector也禁止这种int到vector的“转换”。
避免这种问题的方法是,只允许显式“类型转换”,即,我们可以像下面这样定义构造函数:
于是:
关于类型转换的问题,大多数类型与Vector类似,complex则只能代表一小部分,因此除非你有充分理由,否则最好将接受单个参数的构造函数声明为explicit的。
Read now
Unlock full access