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