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

标签 c++ arrays c++11 integer

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

在这里。

我将我的编译器等更新为 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/

相关文章:

c++ - 使用指针合并两个排序数组的问题

Java - 在本例中如何使用按位移位运算符反转字节数组?

c++ - 查找 NaN 错误的原因

c++ - 如何创建模板依赖成员类型

c++ - 给定一个类的对象数组,类成员 vector 的内存分配有问题吗?

javascript - javascript 数组方法(map、forEach、reduce 等)的迭代顺序是否确定?

python - 最长算术级数

c++11 - 库反馈-适用于C++

c++ - static_cast<T>(...) 是编译时还是运行时?

c++ - 了解 move 构造函数、std::move 和析构函数