std::map<std::string,std::vector> map_str_vector;
I was doing something like this:
std::vector vec_active_channels;
vec_active_channels.push_back("Some string");
map_str_vector["Some_Key"] = vec_active_channels;
Later in the code, I was erasing an element from the vector like this:
std::vector vec_temp = map_str_vector["Some_Key"];
vec_temp.erase(0);
But you know what, later on when I examined the vector, its size won't be changed.
The reason is when I did:
std::vector vec_temp = map_str_vector["Some_Key"];
A new object of std::vector was created and placed in vec_temp, and the call
vec_temp.erase(0);
was erasing first element from the new object.
The right way to remove a std::vector from a std::map value field is given below
map_str_vector["Some_Key"].erase(0);
We can put an if statement behind this erase operation, to check whether this key exists in the map or not.
สล็อตpg Where millionaires are made.
ReplyDelete