У меня проблемы с пониманием, что именно происходит, когда я помещаю функцию .find () внутрь условия if. Подобный вызов для l oop, кажется, работает хорошо.
Часть моего кода выглядит следующим образом:
size_t endPos = strbuf.find(endSeq)+endSeq.size();
cout<<endPos<<endl;
if (size_t endPosif = strbuf.find(endSeq)+endSeq.size() != string::npos)
{
cout<<endPosif<<endl;
}
for (size_t endPosfor = strbuf.find(endSeq)+endSeq.size();endPosfor != string::npos;
endPosfor=strbuf.find(startSeq,endPosfor+1)+endSeq.size())
{
cout<<endPosfor<<endl;
}
Вывод:
466
1
466
Что вызывает это поведение? Я хотел бы использовать endPosif внутри оператора if.