矢量指针

时间:2011-11-16 15:43:43

标签: c++ pointers

我有一个指针对象的向量,但是当我打印内容时,我得到了内存地址,所以我打算将向量复制到字符串向量,但像copy,assign或swap这样的方法似乎没有工作

std::vector<BmvMessage*> MsgName;
//std::vector<BmvMessage> MsgNameCopy;
//std::string* a;
MsgName = retrieveMessageNameID(Msg).push_onto(MsgName);
std::vector<BmvMessage*>::iterator it;

for (it = MsgName.begin(); it != MsgName.end(); ++it) {
  DCS_LOG_DEBUG("it is not empty");
  MsgName.swap(MsgNameCopy);
}

我做错了什么?

1 个答案:

答案 0 :(得分:2)

迭代器就像指针一样''它'就像一个指向指针的指针 - 取消引用它,你应该回到你的原始指针。

it // Is like a pointer to a BmvMessage* or BmvMessage**
*it // Is a BmvMessage*
**it // Is a BmvMessage