約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に使うためと思われるがあまり使いたくないと思った。乱使用によってコードが汚くなりそう。

もう少し、シンプルなコードになる工夫されていればとちょと感じた。なんか増々ツギハギだらけな言語という印象を受けた。

いまのところ、こんな感じ。

コメント

このブログの人気の投稿

日本でコンピュータサイエンスを学ぶ難しさ

How to preview nif file on the ubuntu.