C++生成标准构造函数

Coo*_*kie 6 c++ constructor

我经常发现自己编写非常简单的类而不是C风格的结构.它们通常看起来像这样:

class A
{
public:
  type mA;
  type mB;
  ...
  A(type mA,type mB,...) : mA(mA),mB(mB),... {}
}
Run Code Online (Sandbox Code Playgroud)

这是一种明智的做事方式吗?如果是,我想知道是否有任何第三方插件或任何方便的捷径来自动构造构造函数的文本(例如,采用突出显示或存在的成员定义,用逗号替换分号,将所有内容移动到同一行, ...)?谢谢

Ker*_* SB 11

是的,只需使用普通聚合:

struct A
{
  type mA;
  type mB;
  ...
};
Run Code Online (Sandbox Code Playgroud)

用法:

A x = { mA, mB, ... };
Run Code Online (Sandbox Code Playgroud)

聚合没有自定义构造函数,析构函数和赋值运算符,它允许大量优化.例如,使用大括号语法进行聚合初始化通常会构建成员,甚至没有副本.您还可以获得编译器为您定义的最佳复制和移动构造函数和赋值运算符.