h.nkgwのメモ書き

自分のためのメモです

Cの文字列は避けて通れないけどあえて避ける

前回の「Cではなくて他の言語を習得した人にC++を教えるには」という話の続きです。

 

先日のHello Worldのプログラムを見て思ったのだけど、そもそもC文字列自体真面目に説明すると面倒だ。 だいたいモダンな言語は文字列の連結の説明にページを割くこと自体無いと思います。

C言語から入るとまず連結した文字列を入れるのに十分なバッファを用意しましょうから始まり、終端文字って何?、そもそも十分な量ってどれぐらい? などの色々な障害を超えてstrcatにたどり着くという長い道のりが待っています。さすがにそれだけの説明を受けて文字列が連結出来るだけだと刺激が少ないので、ベタなC言語の話はなるべく後にして新しい言語仕様の話からしたほうが、理解がはやく、間違いが少ないコードをかけるようになると思います。(効率を考えるのはその後でよいでしょう)

そういうことで、最初の取っ掛かりとして "Hello world"は数字と同じようなただの定数で、文字列として色々操作したいときは "Hello world"s のように最後にs を付ける という大雑把な説明から入ることを考えてみました。

 

”hello" + "world" はできないけど "hello"s + "world"s はきちんと "helloworld"sになってくれるし、"word"s.length() は 4を返してくれます。

モダンな言語から入った人には文字列の連結とかはコレぐらいの説明にして、次の項目に行ったほうが良いでしょう。先は長いのですから