gpt4 book ai didi

C++ 使用 HRESULT 返回 S_OK

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

在我正在处理的遗留 C++ 代码中,我注意到许多返回 HRESULT 的方法遵循将局部变量设置为 S_OK 的做法,然后在方法末尾返回它而不更改它。

    HRESULT function()
{
HRESULT hr = S_OK;
// do some stuff
// none of which changes hr
...
return hr;
}

上面的代码有什么好处吗?或者我可以安全地将它重构为

    void function()
{
// do some stuff
// none of which changes hr
...
}

最佳答案

您提议的重构应该可以正常工作。请注意,如果代码中有任何地方使用了函数的返回值,您将遇到编译器错误,您将不得不修复这些地方。

另请注意,在代码的 future 版本中,将更难向该函数添加错误情况,因为您将不得不重新引入返回值并更改所有调用方。最初的开发人员可能出于一致性的考虑返回了 S_OK,或者预计该函数有一天可能会产生错误。

关于C++ 使用 HRESULT 返回 S_OK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32597255/

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