Odpowiedzi na wszystkie twoje pytania są na portalu z którego korzystasz.
1.
size_t to
typ zmiennej. Jak wszystko, co kończy się na
_t.
2.
Dokumentacja dokładnie wyjaśnia, co to jest stała
string::npos, a dokumentacja
find_first_of zawiera informację, kiedy - jako wynik wyszukiwania - zwracana jest ta stała.
3. Brak pytania
4. Rozpisz sobie w tabeli na kartce kolejne iteracje pętli, w kolumnach daj kolejne zmienne, w wierszach ich wartości w kolejnych przebiegach, aż do zakończenia pętli. To powinno ci wskazać, czemu w wywołaniu jest
found+1 i co by się stało, gdyby było samo
found. Jako podpowiedź - zobacz co by się stało, gdybyś zakomentował linijkę wstawiającą gwiazdkę.
W czasach, gdy uczyłem programowania, symulowanie programu na kartce/tablicy było jednym z ćwiczeń pozwalających zrozumieć życie wewnętrzne algorytmów. Przydatnym akcesorium do takiej zabawy w domu jest biała tablica o rozmiarze A4/A3 i cienkie pisaki. Przy bardziej złożonych algorytmach pokreślona kartka robi się zbyt szybko nieczytelna.