よもやもダンプ

気が向いた時にアウトプットしておくところ

雑記#66

これまでC++をメインで触ってきてて,3年に一度仕様が変わるのは知っていたし,C++14,17,20とコンパイラの設定も変えてコンパイルをしつつ新しい機能をつまみ食いしながらコードを書いてきた.
検索して便利そうな機能をコピペで使っていただけだったので,その変更がどういう意図で追加されたのか,どういう場面で使われることを想定されているのかまでは気にしていなかった.
関数を検索するとよくcpprefjp - C++日本語リファレンスに引っかかるけど,最近はこのページをじっくり見つつ,どういった関数・機能がC++で使えるのか勉強しながらコードを書くようにしている.
std::unique_ptrとstd::shared_ptr,std::weak_ptrの使い分けだったり,std::optional,std::any,std::variantの使い分け,constexprやinlineのふるまいなど,これまで何となく使っていた機能がどういうことを想定して実装されたのかを知って,これまでのコードがかなりいい加減に書いていたのか理解してきた.
コーディング規約やアーキテクチャも最近は見るようになりつつコードを書いていくと,部品をガチャガチャつなぎ合わせてもモノはできるけど,中身を整理したうえで組み立てていくほうがすっきりとしたコードになりやすいし,あとで管理もしやすいことが徐々にわかってきた.
仕事のプログラミングはQCDが求められるので今やっていることをこなすのに精いっぱいになってしまうけど,趣味のプログラミングでは自分のペースで進めるので,自分のスキルを磨けるようじっくりと学んで考えてコードを書いていくようにしたい.