Как проверить, используется ли индекс в векторе?
Я хочу что-то вроде этого:Как проверить, используется ли индекс в векторе
if(isUsed(vector,index))
do something
else
do something else
пример:
std::vector<int> myVector;
myVector[0] = 5;
myVector[2] = 0;
myVector[3] = 1;
myVector.erase(3);
isUsed(myVector,3) = false
isUsed(myVector,1) = false
isUsed(myVector,2) = true
isUsed(myVector,5) = false
isUsed(myVector,0) = true
или:
std::map<int,std::string> myMap;
myMap[1] = "x";
myMap.count(1) > 0 = true
myMap.count(0) > 0 = false
Я хочу эту функцию, чтобы быть быстрым, так как им работать с большим количеством индексов.
Использование 'подталкивание :: optional' –
Как вы определяете«б»? Все допустимые индексы (от 0 до 'size() -1') имеют действительные элементы. – juanchopanza
Вы уверены, что 'vector' - это правильная структура данных, если вам нужно это сделать? – Barmar