是否可以在 C++ 中创建对象数组队列?
Is it possible to create a queue of object arrays in C++?
例如:
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
的大小
例如:
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