循环访问指针列表
Iterate through list of pointers
我正在尝试使用以下代码遍历 Window 对象指针列表:
auto windowPtr = reinterpret_cast<std::list<Window>*>(lParam);
for (std::list<Window*>::const_iterator it = windowPtr.begin(); it != windowPtr.end(); ++it)
{
if ((*it)->handle == hwnd)
{
state = true;
}
}
但是我得到一个错误标记windowPtr.begin()
,windowPtr.end()
说:
std::list<Window> *windowPtr Error: expression must have class type
我在这里做错了什么?
您正在寻找类似的东西吗?
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)
{
std::list<Window*>* windows = reinterpret_cast<std::list<Window*>>(lParam);
bool state = false;
for (std::list<Window*>::const_iterator it = windowPtr->begin(); it != windowPtr->end(); ++it)
{
if ((*it)->handle == hwnd)
{
state = true;
}
}
return TRUE;
}
int main(int argc, char** argv)
{
std::list<Window*> windows;
...
EnumWindows(EnumWindowsProc, (LPARAM)&windows);
}
或者你可以使用一些性病功能
state = std::find(windowPtr->begin(), windowPtr->end(), [=] (Window* w) {return w->handle == hwnd;}) != windowPtr->end();
相关文章:
- 为什么这个 std::queue/指向结构的指针列表直到 List.Size() == 0 才释放内存?
- 创建一个棋盘格或"Interweave"两个链接列表。IE 更改两个链表的指针
- 如何在构建链接列表时调整头、尾指针
- 什么更好?返回对象指针列表?或返回指向对象列表的指针?
- 处理从列表中删除指向对象的指针的"healthy"方法是什么?
- 编译包含指向模板函数的指针的初始值设定项列表时,gcc 出错,但 clang 不出错
- 如果函数采用指向类的指针,则函数将完全脱离候选列表
- 如何将共享指针列表传递到pybind11中的c++对象
- Unique_ptr:在列表中放置时未分配释放的指针
- C++:如何初始化包含具有给定键的指针列表的映射
- 使用继承的指针列表复制构造函数或重载运算符=
- 什么是结构开头的函数列表指针,称为 c++
- 使用 c++ 的 STL 列表 ..在传递列表指针的数组中
- 静止图像::获取设备列表指针
- 列表指针类的输出向量
- 使用PThreads访问全局列表-指针问题
- 操作迭代器列表+指针
- 在c++中分配带有列表指针值的STD映射
- python链接列表指针和大小
- 如何调整STL列表指针的大小