im new in c++ and i am creating a version of cat for practicing what i have learned so far. What im doing for managing the command line arguments is converting them to library strings and then using them, but now i have the doubt if it is the correct / most optimal way to do it
You can quickly get the args into a vector like this:
auto args = std::vector<std::string_view>(argv, argv + argc);
Checking equality etc directly instead of using strcmp stuff is better. There are libraries available for handling command line args too.
Use
std::string_view
to sort of get the safety ofstd::string
without copying the contents (just in general make sure the original c string won’t getfree
d or overwritten, which won’t happen toargv
in your case).Or just
std::string
and yolo, the overhead of copying the contents is negligible in your use case.thank you
deleted by creator
If they are just practicing it isn’t a problem, C++17 is already 6 years old and the open source community should get onboard imo
deleted by creator
I’m not talking about professional projects. OP asked about making a pet project in C++.
Also, a lot of opensource software could jump forward in term of standard required ; I’m not saying that no professional project uses opensource library, just that we should start moving forward if we don’t want to get stuck with old versions