h.nkgwのメモ書き

自分のためのメモです

ポインタ表記も逃げられないような気がしますが

C++に関する戯言の続きです。

自分としては、2020年ぐらいまでには特殊な用途以外ではC言語C++を使わなくてもよい世の中になってほしいと思っていましたが、自分が生きている間は現役なのだろうと、少し諦めかけの状況になっていました。

やはり、変数からintなどの値を取るときに i だったり *i だったり(さらに **i の場合もある)する言語は、可読性という点では部外者にかなりの混乱を与えていると思うのですよ。

更に悪い事に、malloc/free もしくは new/deleteですか、今でも世界のどこかでFreeしていないポインタを追いかけているエンジニアがいる。それだけならまだしも、マルチスレッド間でたまに起こる不整合のために起こるセグメンテーションフォルトに悩んでいる事を考えると、エンジニアが足りていないからといって、多少の研修なんかはあるかもしれなくても、未経験者がいきなりC/C++でコードを書く現場に投入されて、そのコードが何処かのシステムで動いているという事は少し恐ろしく感じます。

話がそれましたが、ポインタ表記の書き方は実際のポインタ以外にも、スマートポインタやイテレータ、optionalなどでも使うため、単純にポインタ演算子として教えるよりも、実態を指しているものか、場所を指しているものかという2択から説明して、それが生の言語仕様なのか、それともクラスで定義されたものかで掘り下げたほうがわかりやすいような気もしますが、どうなのでしょうか