約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に使うためと思われるがあまり使いたくないと思った。乱使用によってコードが汚くなりそう。
もう少し、シンプルなコードになる工夫されていればとちょと感じた。なんか増々ツギハギだらけな言語という印象を受けた。
いまのところ、こんな感じ。
コメント
コメントを投稿