約10年ぶりにC++を使って面白く感じた点
Unreal Engineを使うため、再びC++(約X0年使用)を使うことになったが改良点としていくつか便利と思った。 static_assert(), constexprと関わるとおもうがコンパイル時にAssertを評価してくれる。前にこんなのがほしいと思っていたがしっかり追加されている。 nullptr,昔は#define NULLを使っていたがコンパイル側に組み込まれた。 &&,無駄にコピー処理をおこなわないのが良い。考えた人エライ! string_view,安全に文字を定義できる。 遅まきながらu8がC++20で追加になったのはちょと可笑しかった。はじめはcharを使えばいいのでいらないと考えたようだがc#やpython3, javaを使っている身にとって、まだそんな考えがあったのかとつい思ったw C#で好きな文字書式指定に似たstd::format、変数の個数チェックしてくれる。でもまだC#の$""のほうが直感的で使いやすい。formatではまだ古さを感じる。 atomicでないvolatile変数へのアクセスにワーニングが表示される(C++20, VS2019では/Wall, /W3で表示しても良い気がするけど) 微妙なのはauto、lambda関数やtemplateに使うためと思われるがあまり使いたくないと思った。乱使用によってコードが汚くなりそう。 もう少し、シンプルなコードになる工夫されていればとちょと感じた。なんか増々ツギハギだらけな言語という印象を受けた。 いまのところ、こんな感じ。