c++ split string by sstream

#include <iostream>
#include <sstream>
#include <vector>
#include <string>

int main() {
    std::string input_string = "This is a sample string";
    std::istringstream iss(input_string);
    std::vector<std::string> tokens;

    do {
        std::string subs;
        iss >> subs;
        tokens.push_back(subs);
    } while (iss);

    // Output the tokens
    for (const auto& token : tokens) {
        std::cout << token << std::endl;
    }

    return 0;
}