如何在C++中从头文件中实现:find()和::count()
How to implement ::find() and ::count() from a header file in C++?
我正试图从头文件中实现一个堆栈类。我用三个文件写了它——stack.h、stack.cpp和main.cpp.
为了找到一个元素,我在stack.cpp.中使用以下代码
bool stack::find (const string &elem) const
{
vector<string>::const_iterator it = _stack.begin();
return ::find(it,_stack.end(),elem))!=_stack.end();
}
然而,find一直返回false。我每次都会收到"找不到单词"。你能帮我做这个吗?
这是代码的粘贴框链接:粘贴框链接
如果您正在进行迭代查找,堆栈不是您想要使用的数据结构。堆栈的意义在于,必须弹出元素才能访问它们。如果要遍历搜索中的所有元素,保持堆栈状态的唯一方法是将所有元素保存在一个单独的容器中,并在搜索完成后将它们推回堆栈。如果你正在这样做,为什么不使用std::vector这样的随机访问容器呢?
所以你的问题的答案是:不要那样做,我们是一个不同的容器。
相关文章:
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- OpenMP卸载说'fatal error: could not find accel/nvptx-none/mkoffload'
- 使用.find函数在c++中查找字符和另一个字符之间的大小
- 在 QVector<std::unique_ptr 上使用 std::find<Type>>
- 错误"Could not find Boost"(缺少:上下文标头)
- DrawIndexedInstanced 具有不同的 Index Count per Instance (Directx
- /usr/bin/ld: cannot find -lc++
- std::find,返回所有找到的值的替代方法,而不仅仅是存在重复的向量的第一个值
- 使用 find 解析文件会给出不同文件的奇怪结果
- 在 ifcondition al中 find() C++ STL 中的 == a.end() 有什么用?
- Cannot find -lglad
- "Cannot find -l<directory>"错误 - CMake
- 为什么在向量上使用 std::find() 时会出现错误?
- 为什么映射插入和 map.find() 的单次迭代比插入和 map.find() 的两次单独迭代慢得多
- 为什么 std::count 和 std::find 没有针对使用 memchr 进行优化?
- 如何在C++中从头文件中实现:find()和::count()
- 在键上使用 map.find() 和 count(),这是一种类对象类型
- 是否存在std::search对应的函数,就像std::count对应std::find一样
- std::unordered_map::find和count以key为参数无法编译
- Unordered_map:哪个更快find()或count()