C++20
#include <iostream>
#include <string>
#include <string_view>
#include <vector>
// ranges is obviously needed for std::views
#include <ranges>
std::vector<std::string_view> split(const std::string& n, const std::string& delim) {
std::vector<std::string_view> line;
for (const auto& word : std::views::split(n, delim)) {
line.push_back(std::string_view(word.begin(), word.end()));
}
return line;
}
int main(int argc, char* argv[]) {
const std::string& n = "1,2,3,4";
const std::string& delim = ",";
auto line = split(n,delim);
for( auto elem : line ) {
std::cout << elem << "\n";
}
}