gpt4 book ai didi

c++ - 采用 Enum 参数的工厂函数

转载 作者:行者123 更新时间:2023-11-30 00:55:16 28 4
gpt4 key购买 nike

我怎样才能避免并非所有控制路径都在此处返回容器的事实:

        enum Type {Int, String};

Container containerFactory(Type type)
{
switch(type)
{
case Int:
return Container (std::vector<int>());
case String:
return Container (std::vector<std::string>());
}
}

更新:我在想我可以在这里抛出异常,但我无法对此进行单元测试,因为不可能将无效类型传递给函数。

最佳答案

我倾向于在底部添加一个assert():

Container containerFactory(Type type)
{
// ...
assert( !"Unreachable code hit!" );
return Container();
}

关于c++ - 采用 Enum 参数的工厂函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12781047/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com