How to avoid pointer arithmetic when using char** argv

Viewed 6927

When trying to print the first command line argument:

std::cout << argv[0] << std::endl;

clang-tidy gives the warning:

warning: 'do not use pointer arithmetic' from [cppcoreguidelines-pro-bounds-pointer-arithmetic]

Is there an alternative way to use the values of argv without using pointer arithmetic? Isn't accessing a char** by any sensible method going to have to use pointer arithmetic?

I appreciate there are some specialised functions to handle command line arguments, but they seem too heavyweight for simply printing one argument.

I am writing in c++, using the clang compiler and building with cmake.

1 Answers
Related