在“C++简而言之”一书中,有以下示例代码

std::vector<int> data
...
std::erase(std::remove(data.begin(), data.end(), 42),
  data.end());

我以为'erase'是成员函数,所以不应该是'data.erase'而不是'std::erase'吗?
C++编译器是否可以通过某种方式告诉您要在哪个成员上调用成员函数,或者这本书是否省略了擦除模板函数的任何文档,还是该示例错误?

最佳答案

erase是成员函数。提供的样本不正确。

关于c++ - 帮我了解std::erase,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1821703/

10-11 16:23