Verwendung Beim Versuch, das erste Befehlszeilenargument zu drucken:Wie Zeigerarithmetik zu vermeiden, wenn char ** argv
std::cout << argv[0] << std::endl;
Klirren-ordentlich gibt die Warnung:
Warnung: ‚nicht verwenden Zeigerarithmetik‘ von [cppcoreguidelines-pro-Grenzen-Pointer-Arithmetik]
gibt es eine alternative Möglichkeit, die Werte vonzu verwenden 0 ohne Zeigerarithmetik zu verwenden? Zugriff auf char**
nicht durch eine sinnvolle Methode, Zeigerarithmetik verwenden zu müssen?
Ich schätze, es gibt einige spezialisierte Funktionen, um Befehlszeilenargumente zu behandeln, aber sie scheinen zu schwer zu sein, um einfach ein Argument zu drucken.
Ich schreibe in c++
, mit dem clang
Compiler und Gebäude mit cmake
.
Wenn Sie nur 'argv [0]' benötigen, können Sie '* argv' verwenden. Aber darüber hinaus, nein. –
Versuchen Sie es mit '& argv [0]'. Ich glaube, "cout" will einen Zeiger auf ein einzelnes Zeichen. –
Beklagt es sich noch, wenn Sie 'argv' ein Array und keinen Zeiger machen? 'char * argv []'? – spectras