时,当要打印的第一个命令行参数,以避免指针运算:如何使用char ** argv的
std::cout << argv[0] << std::endl;
铛,整洁给出了警告:
警告:“不要用指针运算” 从[cppcoreguidelines-PRO-边界指针算术]
有一种使用的值的另一种方法0而不使用指针算术?是不是通过任何明智的方法访问char**
将不得不使用指针算术?
我明白有一些专门的函数来处理命令行参数,但它们看起来太重量,不能打印一个参数。
我正在编写c++
,使用clang
编译器和cmake
编译。
如果你只需要'argv [0]',你可以使用'* argv'。但除此之外,不。 –
尝试使用'&argv [0]'。我相信'cout'想要一个指向单个字符的指针。 –
如果你制作'argv'数组而不是指针,它仍然会抱怨吗? 'char * argv []'? – spectras