我记得在大学里有一种方法可以使初始化一个对象,该对象编写一系列成员变量初始化,用逗号分隔,就像下面的代码示例中的波纹管一样,但是我不记得它是怎么被调用的。

class A
{
public:
    string s1, s2, s3;
    A()
    {

    }
};


#include "A.h"

int main()
{
    A a
    {
        s1 = "String1",
        s2 = "String 2",
        s3 ="String 3"
    }
}


为了使该构造函数(如list)正常工作,我还应该输入什么?

最佳答案

不是在C ++中,但是C99确实支持此(指定的初始化程序)。

struct point { int x, y; };

struct point p = { .y = yvalue, .x = xvalue };


https://gcc.gnu.org/onlinedocs/gcc/Designated-Inits.html

关于c++ - 在C++中,是否可以通过指定列表中的每个成员变量来构造对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58629861/

10-11 22:23
查看更多