2024/5/24(金)

cpprefjpを読み進めた。

elif/elifdef/elifndefのサポートを追加

elifdefとかはともかく、elifって前から無かったっけ?記憶違いか。ともかくちゃんとこれが使えるのは嬉しい。

constexpr関数内でのstatic constexpr変数を許可

コンパイル時に評価されるならstaticにしなくても、関数が実行されるたびに初期化や評価が行われたりしないのだから実行時性能は変わらないのでは?と思ったが、constexpr関数は実行時にも評価されうるのだった。

constexpr関数内でconsteval関数を呼び出せない問題を軽減

ちょっと分かりにくいが、

  • constevalはコンパイル時に評価されなければならない
  • よって定数式しか引数に渡せない
  • constexprは実行時にも評価されうる
  • コンパイル時の文脈ならconstexprから引数付きでconstevalが呼べても良いはずだがこれまで呼べなかったので、呼べるようにした

ということだろうか。解決としては「constexprがconstevalになる」という形のようだ。それもそれで分かりづらそうだが。

constexpr関数が定数実行できない場合でも適格とする

「定数式実行可能に出来るならconstexprにする、出来ないならしない」ということをなるべく楽にやる、というのが目的っぽい?いずれ定数式で呼べるようになるかもしれないからとりあえずconstexpr関数としてライブラリを作っておいて、いずれそれが定数式内で合法になったときに定数式で呼べればいい、という運用が想定されてそう。

1ワイド文字に収まらないワイド文字リテラルを禁止する

マルチキャラクタリテラルなくなるの???wchar_tだとだめという話か??

ちゃんと提案書読んだらL'abcd'とかはだめだけど'abcd'みたいなやつは今まで通りint型になるっぽいので、記事のミスっぽい。

(符号付き)size_tリテラルのためのサフィックス

.size()int型じゃないのに何度も微妙につっかかったので、これを使うのが板に付けば大分改善されそう。でも今までの経験だとLLとか付けるのですらだるいという問題がある。

#warningのサポートを追加

まあ嬉しいが、然るべきところでは[[deprecated]]やらの属性で対応したい。

static_assertの診断メッセージにユーザーが生成した文字列の指定を許可

使いどころが難しそう。将来的な定数式とライブラリの発展を期待しての布石?

契約に基づくプログラミング

契約プログラミングというものをちゃんと知らなかったのでWikipediaを読んだ。基本となるアイデアはシンプルで、言語に依存するものではないようだ。関数に対し、呼び出し側は事前条件を保証する。呼ばれた側は事後条件を保証する。これを「契約」としてお互い安全にやっていきましょうということのようだ。しかし記述されたそれをコンパイラ側がどう活用するかが問題となる。実際検証するのかしないのか?違反していた場合どうするのか?その辺はカスタムできるようだ。この辺を言語側で固定せずプログラマにゆだねるところがC++節である。

assert属性は属性らしい使い方を外れててちょっと気持ち悪いかもしれない。


この前DVDを買った「ハウルの動く城」を視聴した。一応テレビ放送などで見た事はあるはずだが、ある程度大きくなってからちゃんと目を通したのは初めてかもしれない。

昔見たときは荒れ地の魔女がどうしてヨボヨボになったのか、あとどうしてカルシファーに手を出したのかが全く分からなかったのだが(ということはよっぽど小さいときにぼんやり見ていたのだろう)、ちゃんとみたらしっかり描写されていた。全編にわたって恋がテーマとしてあって、荒れ地の魔女もカブもその一部だった。

最後のカブのセリフ、「人の心は移り変わるものと言いますし」というので締めるのが人生そう単純じゃあないぜという含蓄を感じてニクい。サリマン先生も「ハッピーエンドってわけね」とか言うあたり斜め上から見ている趣がある。老人になるソフィ、メインテーマのタイトル「人生のメリーゴーランド」などと合わせて、酸いも甘いも含めそれが楽しいんじゃないかという達観でもあり陽気でもあるような力強さを伝えているように感じる。

最後城飛んでビビった。こんなラストだったっけか。隣国の王子、戦争止めたらまた逢いに来るとか言ってたけど来れんのか???

サリマン先生はどんだけ力持ってるのか最後までよく分かんなかったな。王様王女様とかではなく国の第一の魔法使いみたいな立ち位置らしかったが、最後総理やらを直接呼びつけてたし、やたら力持ってそう。

しかし大人になってちゃんと見ても、ソフィが時々勝手に戻るやつの意味と仕組みはよく分かんなかったな…かなりちゃんと意味があってやっていると思うのだが。恋というテーマに関連したものではあるのだろう。

Categories: