内部返回时安全的类型转换

时间:2012-02-06 12:01:04

标签: c++

在我的代码中,我在返回它之前对类型进行类型转换(C ++)。

这样做是否安全,或者我应该首先进行类型转换然后返回值?

目前:

return NumericType (r_endoftheScale);

或者我应该将其更改为

NumericType r_endoftheScale;
r_endoftheScale=NumericType (w_endoftheScale);
return r_endoftheScale;

3 个答案:

答案 0 :(得分:3)

这两种变体是等效的,可互换的。

答案 1 :(得分:2)

你的工作方式没有区别。

如果函数返回NumericType,它应该通过构造NumericType的实例自动转换。

答案 2 :(得分:2)

没关系。第二个比需要的时间长得多。

作为提示,您可以(并且应该)初始化声明它们的变量。

NumericType r_endoftheScale = NumericType (w_endoftheScale);
return r_endoftheScale;

你也可以考虑匈牙利符号的适当性。