gpt4 book ai didi

c++ - 使用默认值而不是异常来 boost numeric_cast<>?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:03:22 29 4
gpt4 key购买 nike

每当 boost 的 numeric_cast<>转换失败,抛出异常。 boost 中是否有类似的模板让我指定一个默认值,或者在这种情况下捕获异常是我唯一能做的?

我不太担心所有额外异常处理的性能,但我宁愿使用标准模板也不愿编写无用的包装函数。另外,根据以往的经验,我认为boost很有可能真的有我想的,只是一直没有找到。

最佳答案

numeric_cast 函数只是调用 boost::numeric::converter具有默认参数的模板类。其中一个参数是 OverflowHandler ,默认值为 def_overflow_handler , 但您可以指定 silent_overflow_handler而是抑制异常。

然后指定 FloatToIntRounder如果输入参数超出您想要的范围,将提供您想要的默认值的参数。该参数通常用于提供从浮点类型舍入的整数,但您实际上可以将其用于任何您想要的用途。更多信息,以及描述事件顺序的代码,请访问 converter documentation .

据我所知,Boost 没有您所想的那样,但它为您提供了自己构建它的便利。

关于c++ - 使用默认值而不是异常来 boost numeric_cast<>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1993391/

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