结构中的功能?c++

Functions in Structures ? C++

本文关键字:c++ 功能 结构      更新时间:2023-10-16

我了解基本的struct如何在c++中工作,如下例所示:

struct Options 
{
   int num_particles;
   bool use_lbp;
   string infile;
   string outfile;
};

然而,我不明白下面的内容,在声明中有一个额外的部分。Options():...的目的是什么?

struct Options 
{
   Options()
      :num_particles(NUM_PARTICLES),
       use_lbp(false),
       infile(),
       outfile()
   {}
   int num_particles;
   bool use_lbp;
   string infile;
   string outfile;
};

这与下面代码中发生的事情类似吗?

struct State_
{
   State_( State pp ) : p( pp ) { }
   operator State() { return p; }
   State p;
};

Options()是您的默认构造函数。在可以拥有方法和构造函数的意义上,结构和类是等价的。:之后是Options()的初始化列表。它告诉您在Options()的默认构造函数中:

    num_particles初始化为NUM_PARTICLES
  • ule_lbp初始化为false
  • infile初始化为空字符串
  • outfile初始化为空字符串

类似的推理也适用于State_