c++ - 将一个对象中的数组设置为等于另一个对象中的数组?

标签 c++ arrays class

假设我有一个名为 A 的类:

class A{
private:
    int myarray[3];
    int other;
public:
    void setarray(int cell_one, int cell_two, int cell_three);
    // ^ Sets values passed to function to elements in myarray 
}

还有我的 main 中的两个 A 对象:

int main(){
A a_one;
A a_two;

a_one.setarray(5,3,6);

}

有没有办法将 a_one 中的数组复制到 a_two 中的数组,而无需将其他值设置为相等?

最佳答案

我推荐使用 std::array反而。然后就可以通过简单的赋值实现复制。

例如,您可以创建一个返回数组(可能是 const)引用的函数,并使用这些函数进行赋值。也许像

struct A
{
    std::array<int, 3> a;
    // Other member variables...

    std::array<int, 3> const& get_array() const
    {
        return a;
    }

    std::array<int, 3>& get_array()
    {
        return a;
    }
};

// ...

a_one.get_array() = a_two.get_array();

关于c++ - 将一个对象中的数组设置为等于另一个对象中的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44741911/

相关文章:

class - 我怎样才能调用这个函数?

c++ - linux C++ 应用程序部署

java - ArrayIndexOutOfBounds 但数组大小设置正确

javascript - JavaScript 中的 [keys[i]] 是什么?

python - 如何初始化具有给定维数的空 Numpy 数组?

javascript - 如何用class.js声明静态变量?

c++ - 对象的内部结构是什么(EDIT : MFC) CString class?

c++ - C 或 C++ 中的结构实例限制

c++ - 将文件中的数据分配给矩阵 C++

Python:打印嵌套类