GUID在c++中的默认值

GUID default value in c++

本文关键字:默认值 c++ GUID      更新时间:2023-10-16

我想在我的类中使用GUID

1)我想在默认构造函数中给它一个默认值(比如0,NULL等)。我该怎么做呢?

2)在另一个构造函数中,我想在调用构造函数时给它一个默认值。例如:

the constructor: MY_CLASS(int a, int b, int c = 0, GUID g = ???)
the call: MY_CLASS m = new MY_CLASS(5,3);

我该怎么做呢?

谢谢

1, GUID默认值:GUID_NULLIID_NULL(为GUID_NULL的别名)

2,我认为你应该使用REFGUID而不是直接使用GUID。在头文件中,可以使用DEFINE_GUID(guid_name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)来定义静态GUID guid_name。在您的类中定义一个REFGUID成员并为其分配guid_name。

// {4CAD5FED-86CA-453a-B813-0876DAA992DF}
DEFINE_GUID(_guid_A, 
  0x4cad5fed, 0x86ca, 0x453a, 0xb8, 0x13, 0x8, 0x76, 0xda, 0xa9, 0x92, 0xdf);
class MyClass {
private:
  REFGUID rguid;
public:
  MyClass() : rguid(&GUID_NULL)
  { }
  MyClass(int a) : rguid(&_guid_A) 
  { }
};