C ++ Vector - 它的一部分指向相同的地址
嗨,我的主题可能令人困惑。
就这样吧。
我有一个矢量图
struct node{
int nodeid;
vector<string> data;
vector<fTable> fdata;
}
struct fTable{
int index;
int key;
}
vector<node> myNode;
就像在某些功能上...
void chord::someFunc(int nodeid)
{
node myTempNode;
vector<string> data1;
vector<fTable> fdata1;
myTempNode.nodeid = nodeid
myTempNode.data = data1;
myTempNode.fTable = ftable1;
myNode.push_back(myTempNode);
myTempNode.clear();
}
我将创建 10000 个对象,此时,我只获得了 nodeid 的值。
但是对于数据和 fTable,我设置为一些空字符串向量和空 fTable 向量,但我想知道我是否创建了 10000 个对象并做同样的事情。
我是在创建 10000 个空字符串和 fTable 向量吗
有没有办法可以将所有这些对象指向相同的字符串向量(空值)和 fTable 向量(空值),这样我就可以节省一些记忆。考虑到我将或可能创建 10000 个节点左右。内存消耗对我来说是一个问题。
感谢所有帮助。