recebendo entrada de uma palavra string por palavra

Acabei de começar a aprender C ++. Eu estava apenas brincando com isso e me deparei com um problema que envolvia a inserção de uma palavra por palavra, cada palavra separada por um espaço em branco. O que quero dizer é, suponha que eu tenha

   name  place animal 

como a entrada. Eu quero ler a primeira palavra, fazer algumas operações nela. Em seguida, leia a segunda palavra, faça algumas operações e leia a próxima palavra, e assim por diante.

Eu tentei armazenar toda a cadeia no início com getline como este

    #include<iostream>
    using namespace std;
    int main()
    {
     string t;
     getline(cin,t);
     cout << t; //just to confirm the input is read correctly
    }

Mas como eu faço a operação em cada palavra e passo para a próxima palavra?

Além disso, enquanto pesquisava sobre C ++ eu vi em muitos lugares, em vez de usar "using namespace std" as pessoas preferem escrever "std ::" com tudo. Por que isso? Eu acho que eles fazem a mesma coisa. Então, por que se dar ao trabalho de escrevê-lo de novo e de novo?

questionAnswers(3)

yourAnswerToTheQuestion