我可以将显式与 init-list ctor 一起使用来确保像 {a} 这样的表达式不会导致意外的隐式转换吗?还有一个想法:我应该担心吗?与简单的相比,编写{a}
错误的可能性更小a
,但另一方面,从代码中可能仍不清楚我们正在通过隐式转换构造对象。
class Foo
{
explicit Foo (std::initializer_list<Bar> ilist) { /*...*/}
};
我可以将显式与 init-list ctor 一起使用来确保像 {a} 这样的表达式不会导致意外的隐式转换吗?还有一个想法:我应该担心吗?与简单的相比,编写{a}
错误的可能性更小a
,但另一方面,从代码中可能仍不清楚我们正在通过隐式转换构造对象。
class Foo
{
explicit Foo (std::initializer_list<Bar> ilist) { /*...*/}
};