#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
class Car
{
private:
int newId;
std::string newName;
float newPrice;
std::string newSessUserName;
public:
Car(const int& a, const std::string& b, const float& c, const std::string& d)
:newId(a), newName(b), newPrice(c), newSessUserName(d) {} // use initilizer list constructor
const int& getnewId()const { return newId; }
const std::string& getnewName()const { return newName; }
const float& getnewPrice()const { return newPrice; }
const std::string& getnewSessUserName()const{ return newSessUserName; }
};
int main()
{
std::vector< Car > carVec =
{ {1, "name1", 101.0f, "username1"},
{3, "name3", 103.0f, "username3"},
{2, "name2", 102.0f, "username2"},
{2, "name2", 102.0f, "username2"},
};
int id_to_delete = 2;
carVec.erase(std::remove_if(carVec.begin(), carVec.end(), [&id_to_delete](const Car& ele)->bool
{
return ele.getnewId() == id_to_delete;
}), carVec.end());
for(const auto& it: carVec)
std::cout << it.getnewId() << " " << it.getnewName() << " " << it.getnewPrice() << " " << it.getnewSessUserName() << "\n";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKY2xhc3MgQ2FyCnsKcHJpdmF0ZToKICAgIGludCBuZXdJZDsKICAgIHN0ZDo6c3RyaW5nIG5ld05hbWU7CiAgICBmbG9hdCAgbmV3UHJpY2U7CiAgICBzdGQ6OnN0cmluZyAgbmV3U2Vzc1VzZXJOYW1lOwpwdWJsaWM6CiAgICBDYXIoY29uc3QgaW50JiBhLCBjb25zdCBzdGQ6OnN0cmluZyYgYiwgY29uc3QgZmxvYXQmIGMsIGNvbnN0IHN0ZDo6c3RyaW5nJiBkKQogICAgICAgIDpuZXdJZChhKSwgbmV3TmFtZShiKSwgbmV3UHJpY2UoYyksIG5ld1Nlc3NVc2VyTmFtZShkKSB7fSAgLy8gdXNlIGluaXRpbGl6ZXIgbGlzdCBjb25zdHJ1Y3RvcgogICAgY29uc3QgaW50JiBnZXRuZXdJZCgpY29uc3QgICAgICAgICAgICAgICAgICB7IHJldHVybiBuZXdJZDsgIH0KICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBnZXRuZXdOYW1lKCljb25zdCAgICAgICAgeyByZXR1cm4gbmV3TmFtZTsgIH0KICAgIGNvbnN0IGZsb2F0JiBnZXRuZXdQcmljZSgpY29uc3QgICAgICAgICAgICAgeyByZXR1cm4gbmV3UHJpY2U7ICB9CiAgICBjb25zdCBzdGQ6OnN0cmluZyYgZ2V0bmV3U2Vzc1VzZXJOYW1lKCljb25zdHsgcmV0dXJuIG5ld1Nlc3NVc2VyTmFtZTsgIH0KfTsKCmludCBtYWluKCkKewogICAgc3RkOjp2ZWN0b3I8IENhciA+IGNhclZlYyA9CiAgICB7ICAgezEsICJuYW1lMSIsIDEwMS4wZiwgInVzZXJuYW1lMSJ9LAogICAgICAgIHszLCAibmFtZTMiLCAxMDMuMGYsICJ1c2VybmFtZTMifSwKICAgICAgICB7MiwgIm5hbWUyIiwgMTAyLjBmLCAidXNlcm5hbWUyIn0sCiAgICAgICAgezIsICJuYW1lMiIsIDEwMi4wZiwgInVzZXJuYW1lMiJ9LAogICAgfTsKCiAgICBpbnQgaWRfdG9fZGVsZXRlID0gMjsKCiAgICBjYXJWZWMuZXJhc2Uoc3RkOjpyZW1vdmVfaWYoY2FyVmVjLmJlZ2luKCksIGNhclZlYy5lbmQoKSwgWyZpZF90b19kZWxldGVdKGNvbnN0IENhciYgZWxlKS0+Ym9vbAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBlbGUuZ2V0bmV3SWQoKSA9PSBpZF90b19kZWxldGU7CiAgICAgICAgICAgICAgICB9KSwgY2FyVmVjLmVuZCgpKTsKCiAgICBmb3IoY29uc3QgYXV0byYgaXQ6IGNhclZlYykKICAgICAgICBzdGQ6OmNvdXQgPDwgaXQuZ2V0bmV3SWQoKSA8PCAiICIgPDwgaXQuZ2V0bmV3TmFtZSgpIDw8ICIgIiA8PCBpdC5nZXRuZXdQcmljZSgpIDw8ICIgIiA8PCBpdC5nZXRuZXdTZXNzVXNlck5hbWUoKSA8PCAiXG4iOwogICAgcmV0dXJuIDA7Cn0KCgo=