是否可以在C++中创建对象数组队列

Is it possible to create a queue of object arrays in C++?

本文关键字:创建对象 数组 队列 C++ 是否      更新时间:2023-10-16

例如:

class Hooks {

 public:
 std::string text;
 std::string hookfont;
 HookFromEncouter()
 {
     text = "Would you befriend an elf? ";
     hookfont = "COPRGTB.ttf";
 }
 HookFromEncouter(string text1, string hookfont1)
 {
     text = text;
     hookfont = hookfont1;
 }
 };

我需要将此对象的数组存储在队列中:

如何创建和访问具有可变长度对象数组的此类队列?还是静态长度?

如:

queue<Hooks[]> Hooks_queue;

伟大。这段代码给了我一个错误:

vector<Hooks> hooks_import;
hooks_import.push_back(Hooks());
hooks_import.push_back(Hooks());
Hooks_queue.push(hooks_import);

错误:没有重载函数的实例

如果内部数组是可变长度的,或者长度在运行时之前是未知的,你可以使用

std::queue<std::vector<Hooks>> Hooks_queue;

如果大小是固定的并且在编译时已知,则可以使用

std::queue<std::array<Hooks, N>> Hooks_queue;

其中N是每个array的大小