У меня есть std::vector
из std::strings
, содержащее данные, подобные этим:
[0] = ""
[1] = "Abc"
[2] = "Def"
[3] = ""
[4] = "Ghi"
[5] = ""
[6] = ""
Как я могу получить вектор, содержащий 4 строки от 1 до 4?(т.е. я хочу обрезать все пустые строки из начала и конца вектора):
[0] = "Abc"
[1] = "Def"
[2] = ""
[3] = "Ghi"
В настоящее время я использую прямой итератор, чтобы перейти на "Abc"
, и обратный итератор, чтобывернусь к "Ghi"
, а затем построю новый вектор, используя эти итераторы.Этот метод работает, но я хочу знать, есть ли более простой способ обрезать эти элементы.
PS Я нуб C ++.
Редактировать
Также яследует упомянуть, что вектор может состоять полностью из пустых строк, и в этом случае вектор с размером 0 будет желаемым результатом.