Syntax Suger

Syntax Suger とは日本語で言う所の糖衣構文である。
ちょっと面白いC++の糖衣構文に絡んだ話をひとつ示す。

int array[100];

という配列において、array[10] と書くと配列の11番目の要素を指すものであるが、この ”[ ]” は糖衣構文である。これは*(array + 10)と同義である。
配列名はC++においてその配列の先頭アドレスを指すものであり、arrayがint型であることから*(array + 10) はarray(先頭アドレス)から10*sizeof(int)バイトぶん先の場所にある値を意味する。

このことから、*(array + 10)  と *(10 + array) が同値であることは容易に理解できるであろう。しかし、以下の事実もまた導かれるのである
array[10] と10[array] は同値である。そう、つまり10[array]という奇妙な書き方も許されるのである。まあ、ただし、糖衣構文の存在理由(より物事を分かりやすくするため)を考えると、この記述の仕方は喜ばれるものではないだろう

 

 

等々力渓谷

秋という季節の楽しみ方は人それぞれだ。ただ、人間にプログラムされた感情は”紅葉”を欲する。

都会の喧騒を尻目に穏やかで背伸びのない場所。東京23区で唯一の渓谷、等々力渓谷。

当初の目的と反し、バグった僕は、真っ赤な、大きな人工物に心を奪われた。

red bridge