gpt4 book ai didi

C++ - 基于 vector 的二维对象数组

转载 作者:行者123 更新时间:2023-11-30 01:31:15 24 4
gpt4 key购买 nike

按照建议here我修复了我的 2D 数字数组,使其适用于 Vector 类。

头文件:

#include <vector>

typedef std::vector<int> Array;
typedef std::vector<Array> TwoDArray;

下面是它的使用方式:

TwoDArray Arr2D; 

// Add rows
for (int i = 0; i < numRows; ++i) {
Arr2D.push_back(Array());
}

// Fill in test data
for (int i = 0; i < numRows; i++) {
for (int j = 0; j < numCols; j++) {
Arr2D[i].push_back(ofRandom(0, 10));
}
}

// Make sure the data is there
for (int i = 0; i < numRows; i++) {
for (int j = 0; j < numCols; j++) {
std::cout << Arr2D[i][j] << ' ';
}
std::cout << '\n';
}

我的问题是,我如何才能对自定义对象而不是 int 数字执行相同的操作?我已经尝试通过 MyObject 更改 int 并使用 push_back(new MyObject());但是当我尝试访问它的功能时它无法正常工作。

提前谢谢你。

最佳答案

new MyObject()将返回一个指向新创建的类 MyObject 实例的指针 .如果您创建了一个 vector<MyObject>那么你需要做类似 push_back(MyObject()) 的事情.

关于C++ - 基于 vector 的二维对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3371090/

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