時,當要打印的第一個命令行參數,以避免指針運算:如何使用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