Node.js C++: 遍历 std::vector<Nan::Callback*> 并移除特定元素
在 Node.js 的 C++ 扩展中,可以使用 std::find 函数在 std::vector<Nan::Callback*> 中查找指定的 Nan::Callback* f,如果找到了,可以使用 std::remove 函数移除它。
以下是代码示例:
std::vector<Nan::Callback*> callbacks;
// 添加一些 callback
callbacks.push_back(callback1);
callbacks.push_back(callback2);
callbacks.push_back(callback3);
// 要查找的 callback
Nan::Callback* f = callback2;
// 使用 std::find 查找
auto iter = std::find(callbacks.begin(), callbacks.end(), f);
// 如果找到了,移除它
if (iter != callbacks.end()) {
callbacks.erase(iter);
}
这段代码将会在 callbacks 中查找 callback2,并将它移除。注意,这里的移除并不是真正地删除,而是将它移动到了 vector 的末尾并标记为已删除,需要使用 erase 函数将它真正地删除。
原文地址: https://www.cveoy.top/t/topic/opfh 著作权归作者所有。请勿转载和采集!