C++ 按成员元素从向量中删除元素
尝试实现文件系统我有3个类:C++ 按成员元素从向量中删除元素,c++,vector,member,C++,Vector,Member,尝试实现文件系统我有3个类: BaseFile-抽象类。每个都有一个名字 文件-从BaseFile继承。每个文件都有一个大小 目录-从基本文件继承。持有: vector<Base File*> children; 向量子; 我正在尝试构建一个函数,该函数使用名称作为可比名称从目录中删除特定文件: for (decltype(children.size()) i = 0; i < children.size(); ++i) { if(children[i]->g
vector<Base File*> children;
向量子;
for (decltype(children.size()) i = 0; i < children.size(); ++i) {
if(children[i]->getName() == name) {
cout << "Same name" << endl;
}
else {
cout << "not found" << endl;
}
}
for(decltype(children.size())i=0;igetName()==name){
cout您可以使用:
您可以使用:
在何处使用/放置此函数?void Directory::removeFile(字符串名称){children.erase(std::remove_if(std::begin(children),std::end(children),[&name](const BaseFile*x){return x->getName()==name;}),std::end(children));我可以在何处使用/放置此函数?void Directory::removeFile(字符串名称){children.erase(std::remove_if(std::begin(children),std::end(children),[&name](const BaseFile*x){return x->getName()==name;}),std::end(children));cout
children.erase(
std::remove_if(
std::begin(children),
std::end(children),
[&name](const BaseFile* x){ return x->getName() == name; }
),
std::end(children)
);