如何在C++中从头文件中实现:find()和::count()

How to implement ::find() and ::count() from a header file in C++?

本文关键字:count find 实现 文件 C++      更新时间:2023-10-16

我正试图从头文件中实现一个堆栈类。我用三个文件写了它——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这样的随机访问容器呢?

所以你的问题的答案是:不要那样做,我们是一个不同的容器。