struct和:: - 它做了什么

O_O*_*O_O 1 c++ struct

有人能告诉我这种结构语言的来源吗?我对C或java的了解并不熟悉,Google在这方面帮助不大.

主要是,我从未在结构中看到过使用"::".它的名字是什么,它的作用是什么?

我看到的一个例子是:

struct msg
{ 
  common::messageHeader sHeader;
  common::flag sFlag;
};
Run Code Online (Sandbox Code Playgroud)

谢谢你的指导!

Luc*_*ore 9

:: 不是C运算符,而是C++中的范围解析运算符.

它可用于(在C++)来限定属于成员class,struct或者一个namespace.

如果这是C++,它的用法如下:

namespace common
{
  struct messageHeader {};
  enum flag
  {
     flag1,
     flag2
  };
}

struct msg
{ 
  common::messageHeader sHeader;
  common::flag sFlag;
};
Run Code Online (Sandbox Code Playgroud)