我经常发现自己编写非常简单的类而不是C风格的结构。它们通常看起来像这样:
class A
{
public:
type mA;
type mB;
...
A(type mA,type mB,...) : mA(mA),mB(mB),... {}
}
这是一种明智的做事方式吗?如果是的话,我想知道是否有任何第三方插件或任何方便的捷径来自动构造构造函数的文本(例如,采用突出显示或存在的成员定义,用逗号替换分号,将所有内容移动到同一行, ...)?感谢
答案 0 :(得分:11)
是的,只需使用普通聚合:
struct A
{
type mA;
type mB;
...
};
用法:
A x = { mA, mB, ... };
聚合没有自定义构造函数,析构函数和赋值运算符,它允许大量优化。例如,使用大括号语法进行聚合初始化通常会构建成员,甚至没有副本。您还可以获得编译器为您定义的最佳复制和移动构造函数和赋值运算符。
答案 1 :(得分:1)
编辑:以前的版本是c99,而不是c ++。现在是c ++
我认为您可以使用{}初始化而不是编写构造函数。还是在c ++ 0x? C99?我不确定。但它看起来像:
struct A myA = { 3, 5};
答案 2 :(得分:0)
我认为这是一种明智的做法,尽管OO狂热分子可能会评论你没有封装。 我知道Visual Studio内置了代码片段,它可以完成您正在寻找的工作的一半,但这取决于您的IDE