编辑:为了清楚起见,结构没有做任何事情,因为它没有任何功能。我想我给人的印象是我认为使用初始化列表并将构造函数的主体留空是手头的问题。
假设我正在使用一个结构来保存两个值,并且我有一个构造函数,所以我可以创建一个像这样的任意结构:
struct twoValues
{
int x;
int y;
twoValues(int x_, int y_):y(y_),x(x_)
{}
};
someFunction(twoValues(1,2));
这使我不必这样做:
twoValues anInstance;
anInstance.x=1;
anInstance.y=2;
someFunction(anInstance);
编辑:你是对的,我也可以使用以下内容进行初始化:
twoValues anInstance = {1,2};
我认为这没有任何问题,但我从 C++ 测试中得到了一些反馈,其中一个负面反馈标记是“不做任何事情的结构的构造函数”。我和那个测试我的人接触有限,所以从来没有问过为什么。
这是一件坏事,为什么?我宁愿继续做。