Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 我听不懂这个字_C++ - Fatal编程技术网

C++ 我听不懂这个字

C++ 我听不懂这个字,c++,C++,我有一段代码: typedef struct _tagCOMMUNICATIONOBJECT { HWND hWndClient; BOOL bExitLoop; LONG lSleepTimeout; } COMMUNICATIONOBJECT, *PCOMMUNICATIONOBJECT; 我对它的理解是_tagCOMMUNICATIONOBJECT是一个结构,它有3个公共成员hWndClient… 我的问题:什么是通信对象和*PCOMMUNICATIONOBJECT?我

我有一段代码:

typedef struct _tagCOMMUNICATIONOBJECT
{
  HWND  hWndClient;
  BOOL  bExitLoop;
  LONG  lSleepTimeout;
} COMMUNICATIONOBJECT, *PCOMMUNICATIONOBJECT;
我对它的理解是_tagCOMMUNICATIONOBJECT是一个结构,它有3个公共成员hWndClient… 我的问题:什么是通信对象和*PCOMMUNICATIONOBJECT?我不熟悉这种语法

谢谢大家!


Jules

COMMUNICATIONOBJECT
是typedef的名称,
pccommunicationobject
是指向此类typedef的指针

COMMUNICATIONOBJECT
是typedef的名称,
pcomunicationobject
是指向此类typedef的指针

通过将
typedef
放在
struct
之前,您可以定义该结构,然后在定义之后为其列出新别名
COMMUNICATIONOBJECT
\u tagCOMMUNICATIONOBJECT
的新名称,
pcomunicationobject
是指向结构的指针的新名称。可以这样写:

struct _tagCOMMUNICATIONOBJECT
{
    HWND  hWndClient;
    BOOL  bExitLoop;
    LONG  lSleepTimeout;
};
typedef _tagCOMMUNICATIONOBJECT COMMUNICATIONOBJECT;
typedef _tagCOMMUNICATIONOBJECT *PCOMMUNICATIONOBJECT;

通过将
typedef
放在
struct
之前,可以定义该结构,然后在定义之后为其列出新别名
COMMUNICATIONOBJECT
\u tagCOMMUNICATIONOBJECT
的新名称,
pcomunicationobject
是指向结构的指针的新名称。可以这样写:

struct _tagCOMMUNICATIONOBJECT
{
    HWND  hWndClient;
    BOOL  bExitLoop;
    LONG  lSleepTimeout;
};
typedef _tagCOMMUNICATIONOBJECT COMMUNICATIONOBJECT;
typedef _tagCOMMUNICATIONOBJECT *PCOMMUNICATIONOBJECT;

这是微软定义大多数结构的老方法。它在C和C++中工作。在C++中,在<代码>结构> <代码>关键字之后的名称就足够了,因为它是自动TyPutf的一个名称。

但为了更清楚,您可以重写如下:

struct _tagCOMMUNICATIONOBJECT
{
  HWND  hWndClient;
  BOOL  bExitLoop;
  LONG  lSleepTimeout;
};

typedef struct _tagCOMMUNICATIONOBJECT COMMUNICATIONOBJECT;
typedef struct _tagCOMMUNICATIONOBJECT *PCOMMUNICATIONOBJECT;
在C++中,他们定义了3个名称:

_tagCOMMUNICATIONOBJECT
COMMUNICATIONOBJECT
PCOMMUNICATIONOBJECT

这是微软定义大多数结构的老方法。它在C和C++中工作。在C++中,在<代码>结构> <代码>关键字之后的名称就足够了,因为它是自动TyPutf的一个名称。

但为了更清楚,您可以重写如下:

struct _tagCOMMUNICATIONOBJECT
{
  HWND  hWndClient;
  BOOL  bExitLoop;
  LONG  lSleepTimeout;
};

typedef struct _tagCOMMUNICATIONOBJECT COMMUNICATIONOBJECT;
typedef struct _tagCOMMUNICATIONOBJECT *PCOMMUNICATIONOBJECT;
在C++中,他们定义了3个名称:

_tagCOMMUNICATIONOBJECT
COMMUNICATIONOBJECT
PCOMMUNICATIONOBJECT