【问题标题】:Given a pointer to a container, how would I add an item to it?给定一个指向容器的指针,我将如何向它添加一个项目?
【发布时间】:2012-05-09 19:43:31
【问题描述】:

我正在尝试创建一个数组,该数组在每个元素处保存一个指向容器的指针。容器是队列类型,基本上是一个链表队列。我想在给定索引处向链表中添加一个项目,但我不知道该怎么做。

这是正在初始化的数组:

Queue<string> * table;

table = new Queue<string>[tableSize];

这就是我想要的(我知道这行不通):

table[5] = "SomeString";

我试过了:

Queue<string> *ptr = table[5];
ptr->insert(SomeString);

【问题讨论】:

  • 您可以随时取消引用它:(*table)[5] = "somestring"table[0][5] = "somestring"

标签: c++ arrays pointers insertion


【解决方案1】:

我正在尝试创建一个数组,该数组在每个元素处保存一个指向容器的指针。

对于本地数组:

Queue<string> *table[tableSize];

对于堆分配的数组:

Queue<string> ** table;
table = new Queue<string>*[tableSize];

使用任何一种:

table[5]->insert("Some String");

但是,我建议您放弃裸指针和手动分配。使用std::vector&lt;Queue&lt;string&gt;&gt;

std::vector<Queue<string>> v(tablesize);
v[5].insert("Some String");

【讨论】:

    猜你喜欢
    • 2014-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-23
    • 2017-11-28
    • 1970-01-01
    相关资源
    最近更新 更多