gpt4 book ai didi

c++ - 在 C++ 的构造函数中初始化一个数组

转载 作者:行者123 更新时间:2023-11-30 01:17:00 25 4
gpt4 key购买 nike

我在一个类中定义了一个数组。我想用一些预先确定的值来初始化数组。如果我只能在定义中做到这一点,那么它会像我使用的那样更容易

class A{
int array[7]={2,3,4,1,6,5,4};
}

但是,我不能那样做。这个,我需要在构造函数里面做。但是我不能使用上面相同的语法,因为它会在 Constructor 中创建一个新数组并且不会影响类中定义的数组。最简单的方法是什么?

class A{
public:
int array[7];
A::A(){

}
}

最佳答案

可以在构造函数成员初始化列表中初始化数组

A::A() : array{2,3,4,1,6,5,4} {

}

或旧语法

A::A() : array({2,3,4,1,6,5,4}) {

}

您的示例应该可以编译,不过使用支持最新标准的编译器。


另请注意您的类声明缺少尾随分号

class A{
public:
int array[7];
A();
};
// ^

关于c++ - 在 C++ 的构造函数中初始化一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25487894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com