最佳答案
在构造函数方面,添加关键字 explicit
可以防止热心的编译器在不是程序员的初衷的情况下创建对象。这种机制是否也适用于铸造操作员?
struct Foo
{
operator std::string() const;
};
例如,在这里,我希望能够将 Foo
强制转换为 std::string
,但是我不希望这样的强制转换隐式地发生。