一、C++语法的问题在火山里讨论没有意义,我们又不可能改变它; 二、有创建就要有释放,和CryptDestroyHash、 CryptReleaseContext 对应的是 CryptCreateHash 和 CryptAcquireContext,当然是跟 CryptGetHashParam 的结果无关; 三、直接 return; 表示返回值是 void,你不可能又返回哈希值,C++不支持这种多返回值; 最后谈一下写法,最直观就是按流程线直接写下来,如果你不想写那么多次释放,用 goto 也并无不可。 如果想自动初始化和释放,其实也可以将哈希句柄封装成类,在构造函数里调用 CryptDestroyHash,在析构函数调用CryptDestroyHash,自然也可以做到自动初始化和释放。 但有这个必要吗?没有吧,你调用的也是封装后的命令,这些内部代码基本不会在外面使用了。 |
用预处理器? #if #elseif #else 这些? |
|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )
GMT+8, 2025-1-31 07:45 , Processed in 0.093994 second(s), 22 queries .
Powered by Discuz! X3.4
© 2001-2017 Comsenz Inc.