c++ - 获取指针指向的对象

标签 c++

我有一个 QList,我已将对象指针插入其中。我正在尝试遍历此 QList 以读取这些对象的名称。每当我这样做时,我都会获取这些对象的地址,而不是读取对象名称本身。我想知道如何才能读取对象名称而不是地址?

QList<MyObject*> newObjectList;
QList<MyObject*>::iterator i;

MyObject *pNewObject = new MyObject(name);
MyObject.append(pNewObject); 

for (i = newObjectList.begin(); i != newObjectList.end(); i++) {
    cout << "\n" << *i << "\n";
}

最佳答案

当您取消引用 i 时,您需要调用该函数以从您的对象中获取名称。像这样:

for (i = newObjectList.begin(); i != newObjectList.end(); i++) {
    // i right now is the iterator, and points to a pointer. So this will need to be
    // dereferenced twice.
    cout << "\n" << (*i)->getName() << "\n";
}

关于c++ - 获取指针指向的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9333526/

相关文章:

c++ - 如何通过程序扫描系统内存?

c++ - 包含类型的类型的模板函数重载

c++ - 如何使用 makefile 生成 .h 头文件并在同一个 makefile 中使用它来编译源代码?

c++ - 用于外汇自动交易的 MT4/5、Multicharts 或 Interactive Brokers API?

c++ - boost MPL 类型与模板

c++ - 对 `qInitResources_systray()' 的 undefined reference

c++ - 你能把 std::recursive_mutex 和 std::condition_variable 结合起来吗?

c++ - 从python调试VS2010中的c++ dll

c++ - Mongodb : error while loading shared libraries: libboost_thread. so.1.54.0: > 无法打开共享对象文件:没有这样的文件或目录

没有模板参数的 C++ 模板?