プログラミング言語における最適化について #3

  • (by K, 2021.10.11)

(0)

  • これはただの(自分用の)メモです。書かないと忘れるので。

(1)

  • char *a = "abc"; のとき、aは定数か? yes、定数だ。
  • そのあと a++; したら、aは定数か? yes、定数だ。
  • じゃあそれはどんな定数なのか? それは、 a = "abc" + 1 という定数だ。
  • こうすれば、*aの値が'b'だとわかる。

(2)

  • char *a = "abc"; a[1] = x; のとき、aは定数か? まあ定数と言えば定数だ。
  • そのあと a++; したら、aは定数か? まあそれも定数と言えば定数だ。
  • *aの値はいくつだ? それはxと同じ値なのだけど、まあこれは定数じゃないよなあ。
  • a[1]の値はいくつだ? それは'c'だ。
  • *aがxと言えたらすごくかっこいいけど、それはさすがに難しい気がする。
  • つまりこうかな、メモリオブジェクトに対して、部分的に定数ではない部分を含む、そんな半定数なオブジェクトのポインタも扱えるようになりたい。そうすると定数判定能力はかなり広がる。

こめんと欄


コメントお名前NameLink

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-10-11 (月) 00:17:47 (52d)