メモの日々


2013年03月12日(火) [長年日記]

  • 日曜日の14時頃、関東地方は突然黄色い塵のようなもので覆われた。煙霧なる気象現象とのこと。黄色かったので黄砂が疑われたが、そうではないとの報道。よくわからない。

[c][c++] constとポインタ

基本的なことだけど、constとポインタの関係はすぐ忘れるのでメモしておく。

例えば、

const int* const** const a = 0;

と宣言された変数aは何がconstで何がconstでないのか。

重要なのは、ポインタ自体がconstになるのは*の直後にconstがある場合のみ、ということかなあ。C++ランゲージクイックリファレンスの「2.6.2 宣言子」の節に次のようにある。

ポインタは、先頭のアスタリスク(*)、オプションのcv修飾子、オブジェクト名、オプションの初期化子の順で宣言される。

で、上の例の場合だけれど、右から見ていくのだろうなあ。まず一番右の*の直前で分けて、

(const int* const*)(* const a = 0;)

と考える。aは(const int* const*)へのconstポインタである、となる。つまり、

  • aはconst。(aの値自体は変更できない。)
  • (*a)の型は (const int* const*)。

同じことを繰り返すと、次は

(const int* const)(*)

だから、

  • (*a)はconstではない。
  • (**a)の型は (const int* const)。

となって、更に、

  • (**a)はconst。
  • (***a)の型は (const int)。

となる。(***a)はconstね。これでおしまい。


2013年03月19日(火) [長年日記]

[life] 歯科で歯の詰め物が取れたのを修復

インレー

土曜日に食事をしていたら、金属の歯の詰め物(インレーと言うみたい)が外れてしまった。右上奥歯。最近治した所ではなく、いつ治療したのか覚えていない。痛みは全くなし。

取れた金属の写真を青い背景で撮ると錆びたように赤く写る。不思議。本当は綺麗な銀色なんだけど。

月曜日に歯科に連絡したら、今日の予約が取れた。診てもらった所、虫歯が原因で取れたわけではないとのこと。残っていたセメントを手作業で除き、更に機械で少し削られた。削られるときは少しだけ痛かった。金属ではなくプラスチックを充填して治すとのことで、その日のうちに修復完了。プラスチックだと割れたりしても気付かなそうで心配。質問しておけばよかった…。2400円。


2013年03月21日(木) [長年日記]

[ものわすれ] 処理に余分なコストがかかること

処理に余分なコストがかかることを意味する英語あるじゃん、よく使うやつ、あれあれあのあれ、何だっけ。もやもや。

こういうときはどうやって思い出したらいいのか。パフォーマンス、コスト、処理、などで検索していたら自分で思い出せた。オーバヘッドだよ。サッカーの言葉じゃないか。

[tdiary] 古い記事でRSSを更新してしまったときの対処

操作ミスにより古い日記の内容でRSSが更新されてしまった。が、次の操作でRSSから古い日記を取り除けたのでメモ。ただし、本サイトのtDiaryは3.0.2と古いので注意。

  1. RSSから除きたい日付の日記の編集画面を表示する。
  2. 「ちょっとした修正(フィードを更新しない) 」のチェックを無効、「この日の日記を隠す」のチェックを有効にして「登録」ボタンを押し、日記を更新する。これでRSSから当該日付の記事が削除される。が、その日の日記は閲覧できなくなる。
  3. 同日に対し再び編集画面を表示する。
  4. 「ちょっとした修正(フィードを更新しない) 」のチェックを有効、「この日の日記を隠す」のチェックを無効にして「登録」ボタンを押し、日記を更新する。これでRSSはそのままにその日の日記を閲覧できるようになる。