c++ vector 删除一个元素 为什么删不掉呢 ??
我定义了一个vector<CString> vlist;
向里面添加了几个元素
bool MyList::AppendKey(CString key){
if(key==""){
return false;
}else{
if(IsExitsKey(key)){
MyList::v_stringList.push_back(key);
return true;
}else{
cout<<"--------------The key isExits---------------"<<endl;
return false;
}
}
}
然后我删除的时候
cout<<"----------------------Please enter a delete key------------"<<endl;
char temp[1024]={0};
cin>>temp;
CString str = temp;
bool b = ml.DeleteKey(str);
if(b){
cout<<"---------------------DELETE SUCCESS----------------"<<endl;
}else{
cout<<"---------------------DELETE FIELD------------------"<<endl;
}
bool MyList::DeleteKey(CString key){
vector<CString> vlist = MyList::v_stringList;
cout<<key<<endl;
vlist.erase(remove(vlist.begin(),vlist.end(),key),vlist.end());
if(!IsExitsKey(key)){
return true;
}else{
return false;
}
}
屏幕接收的一模一样的值 就是删不掉 是我哪里写错了吗??
向里面添加了几个元素
bool MyList::AppendKey(CString key){
if(key==""){
return false;
}else{
if(IsExitsKey(key)){
MyList::v_stringList.push_back(key);
return true;
}else{
cout<<"--------------The key isExits---------------"<<endl;
return false;
}
}
}
然后我删除的时候
cout<<"----------------------Please enter a delete key------------"<<endl;
char temp[1024]={0};
cin>>temp;
CString str = temp;
bool b = ml.DeleteKey(str);
if(b){
cout<<"---------------------DELETE SUCCESS----------------"<<endl;
}else{
cout<<"---------------------DELETE FIELD------------------"<<endl;
}
bool MyList::DeleteKey(CString key){
vector<CString> vlist = MyList::v_stringList;
cout<<key<<endl;
vlist.erase(remove(vlist.begin(),vlist.end(),key),vlist.end());
if(!IsExitsKey(key)){
return true;
}else{
return false;
}
}
屏幕接收的一模一样的值 就是删不掉 是我哪里写错了吗??
...全文
相关推荐
vector中删除元素erase的用法
在C++编程中,`std::vector`是一个非常重要的容器,它允许我们动态地存储一组相同类型的元素。在处理这些元素时,有时我们需要删除其中的一个或多个,这就是`erase`函数派上用场的地方。
C++ vector删除符合条件的元素示例分享
### 删除符合条件的元素在C++中,删除满足特定条件的元素通常会结合`std::remove()`函数和`std::vector::erase()`方法。
C++中vector和map的删除方法(推荐)
在C++编程中,两种常用的动态数组容器vector和关联容器如set、multiset、map、multimap提供了不同的元素删除方法。这些方法的选择和使用方式对程序性能和代码可读性有着显著影响。
浅谈c++ vector和map的遍历和删除对象
`vector`是一个动态数组,可以方便地进行插入和删除操作。在C++中,遍历`vector`通常使用迭代器(iterator)来完成。
C++ Vector用法详解
`erase(beg, end)`:删除从beg到end之间的元素,end指向最后一个被删除元素之后的位置。22.


新手乐园
