C ++: dividir una cadena en una matriz

Estoy tratando de insertar una cadena separada por espacios en una matriz de cadenassin utilizando vector en C ++. Por ejemplo:

using namespace std;
int main() {
    string line = "test one two three.";
    string arr[4];

    //codes here to put each word in string line into string array arr
    for(int i = 0; i < 4; i++) {
        cout << arr[i] << endl;
    }
}

Quiero que la salida sea:

test
one
two
three.

Sé que ya hay muchas preguntas que preguntan string> array en C ++. Me doy cuenta de que esto podría ser una pregunta duplicada, pero no pude encontrar ninguna respuesta que satisfaga mis condiciones (dividir una cadena en una matriz SIN usar vector). Pido disculpas por adelantado si esta fue una pregunta repetida.

Respuestas a la pregunta(5)

Su respuesta a la pregunta