const 厨
職場で、変に const された C++ のコードに出会した。
int parse_arg(const int argc, char** const argv) { for (int i=1; i < argc; ++i) { // ...
別に const 付けなくても動くんだから間違いじゃないけど。
たぶん、やりたいことは、こうでしょ?
int parse_arg(int argc, const char* const * argv) { for (--argc, ++argv; argc > 0; --argc, ++argv) { // ...
- イディオムを使おう。
- 本当に変更したくない物を const しよう。
でも逆に
int parse_arg(int& argc, char**& argv)
とかした方が、後々便利かも知れない。
そして職場には、こんなコードも存在する。
const char const * p = ...
やる気なくすわ。