C++ 隐式类类型转换
如果构造函数只接受一个实参,则实际上定义了转换为此类类型的机制,例如:
item.combine(some_string)
但是,这里我们只允许一步类类型转换。如果我们不希望发生这种转换,那么我们需要将相应的构造函数写成 explicit
。
另外,static_cast
也可以使用 explicit
构造函数。
如果构造函数只接受一个实参,则实际上定义了转换为此类类型的机制,例如:
item.combine(some_string)
但是,这里我们只允许一步类类型转换。如果我们不希望发生这种转换,那么我们需要将相应的构造函数写成 explicit
。
另外,static_cast
也可以使用 explicit
构造函数。