【发布时间】:2014-06-04 23:35:23
【问题描述】:
我正在尝试创建一个可以容纳任何对象的库存系统
例如
struct Ore{
string name;
int Size;
};
struct Wood{
string name;
int size;
int color;
};
我的想法是创建一个具有 2 个向量的结构,一个用于数字,例如带有攻击、防御和东西的项目,另一个向量用于名称、描述或其他文本。 为不同的项目类型提供多个构造函数。
我遇到的问题是我听说向量会占用更多内存,我希望这个程序可以创建数百或数千个项目。
所以我一直在寻找有关 bettery 内存存储的任何建议。
struct Invetory{
vector<float> Number;
vector<string> Word;
Invetory(string n,float a)
{Word.push_back(s); Number.push_back(a)}
Invetory(string n,float a, float b)
{Word.push_back(s); Number.push_back(a); Number.push_back(b);}
};
vector<Invetory>Bag_Space;
【问题讨论】:
-
为什么是两个向量?为什么不是类或结构对象的一个向量?
-
"我听说向量会占用更多的内存" - malarkey
-
向量是最有效的数据存储方式。与数组不同,它们是动态的。
-
那个方案似乎只会让事情变得更复杂(我什至不确定它是否工作,你怎么知道哪些单词和哪些数字一起形成一个项目?)实际上没有任何好处,甚至没有性能或内存使用。这就是你的动机?