Я читаю Принципы и практику программирования Страуструпа с использованием C ++. На странице 287 он приводит пример под заголовком «Порядок оценки». Но я не совсем понимаю пример. В соответствии с созданием «струнные» входы будут создаваться и уничтожаться каждый раз, пока кто-нибудь не введет «выход».
Как бы я изменил код, чтобы вектор v содержал каждую введенную строку? Как написано, я думаю, что v.size () никогда не будет больше 1. Я хочу, чтобы он повторял цикл и вставлял все зацикленные в вектор, а не вставлял, удалял и вставлял по мере зацикливания.
(код из книги)
vector <string> v; //this is defined globally
void function()
{
string s;
while(cin>>s && s!="quit")
{
string stripped;
string non_letters;
for (int i=0; i<s.size(); ++i)
if (isalpha(s[i]))
stripped +=i;
else
not_letters += s[i];
v.push_back(stripped);
}
}