gpt4 book ai didi

c++ - 我如何将 'int' 的数组初始化为 c++11 中的类成员?

转载 作者:太空宇宙 更新时间:2023-11-04 11:51:23 25 4
gpt4 key购买 nike

好吧,一个简单的问题,但我找不到以前的答案...

在这里。

我将我的编译器等更新为 c++11,因此,我无法像事先那样初始化数组。这是代码:

class Something{
public:
int array[5];
void doSomething();
};

void Something::doSomething()
{
array={1,2,3,4,5};
}

这事先完全没问题,我将它实现到我的新项目中(但由于最近的融化而丢失了代码......)并且记不起我是如何做到的。我知道它非常相似,但每次尝试都会出错。我什至尝试过:

class Something{
public:
int array[5];
void doSomething();
};

void Something::doSomething()
{
int Temparray[]={1,2,3,4,5};
array[]=Temparray[];
}

仍然没有...我无法弄清楚它是什么,并且抨击谷歌浪费了 2 小时的编程...

最佳答案

我建议 std::array

#include <array>

class Something{
public:
std::array<int,5> array;
void doSomething();
};

void Something::doSomething()
{
array = std::array<int,5>{1,2,3,4,5};
}

或者,复制内容:

class Something{
public:
int array[5];
void doSomething();
};

void Something::doSomething()
{
int tmp[] = {1,2,3,4,5};
std::copy(
std::begin(tmp),
std::end(tmp),
std::begin(array)); // beware of buffer overrun
}

关于c++ - 我如何将 'int' 的数组初始化为 c++11 中的类成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18092848/

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