https://www.jb51.cc/csharp/1193238.html

GUID是软件开发中常用的组件,用于生成唯一的对象,在C#、Java以及Python等语言中,因为它们的标准库比较丰富,因此GUID的生成比较简单,往往一两句代码就能搞定。而C++语言本身以及标准库都没有提供生成GUID的API,因此,无法直接使用C++生成GUID。本文介绍两种利用C++间接创建GUID的方法:1)调用Win32API-CoCreateGuid函数;2)使用Boost库。

CoCreateGuid是Windows系统本身提供的API函数,位于ob[jbase](<https://www.jb51.cc/tag/jbase/>).h文件中,因此,我们必须首先包括该头文件

调用CoCreateGuid的代码如下所示:

上述代码中,如果创建GUID成功,则h的值为S_OK,失败则为其他标志位。HRESULT是COM组件的一类返回值,请参考HRESULT。GuidToString函数用于将生成的Guid转换为std::string。相关教程:C++视频教程

这种基于Win32API生成GUID的方法的优点在于不需要依赖其他库,缺点在于无法跨平台,只能在Windows平台的使用。

使用Boost库

使用Boost库来生成GUID相对就比较简单了,代码如下:

首先加载包,然后使用boost::uuids命名空间下的相关类型和函数就可以创建std::string类型的GUID了。基于BOOST来生成GUID的方法比较简单,但是缺点是需要额外引入Boost库。

总结

以上是编程之家为你收集整理的浅谈C++生成GUID的两种方法全部内容。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给好友。