Есть ли способ индексировать группы значений в C ++ - PullRequest
0 голосов
/ 16 апреля 2020

Мне было интересно, есть ли способ исключить индексы или получить группу индексов. Например, предположим, у меня есть строка. Я хочу, чтобы последние 3 символа и положить их в строковую переменную. Есть ли способ сделать это без функции for l oop или пользовательских / внешних функций?

string coolstring = "coolstr";
string CoolStringWithoutTheCool = coolstring[4-6] // trying to grab the last 3 values ("str")

Ответы [ 2 ]

2 голосов
/ 16 апреля 2020

В C++ понятие среза обычно встречается Итераторами .

Итераторы подобны указателям на элементы, а два итератора, begin и end определяют диапазон .

Итак, в вашем случае вы бы хотели

string CoolStringWithoutTheCool = std::string(coolstring.begin() + 4, coolstring.begin() + 7);

Существует специальный метод для строк, называемый substr, который делает то же самое

string CoolStringWithoutTheCool = coolstring.substr(4, 3); // You want the length to be 3
0 голосов
/ 16 апреля 2020

Да, вы можете использовать substr

std::string x = coolstring.substr(4, 2);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...