2024/5/21(火)

今週の胎界主を読んだ。傍流…傍流の極み…「語るね」じゃあないんだよ。レックスがギャグなのかシリアスなのかよく分からないことになっちゃってるだろ!!!

なんでカンがやたらと偉そうなのかは判明した。自分が居ないと日奈子を追えないでしょ~という話だったようだ。もう用済みで来週にも殺されそうだが。

日光先生ギリ生きてた!せめて助かってくれ!!


FFmpegと格闘していた。ようやく少しづつ仲良くなれた気がする。以下の6点を主役としてみるとよろしい。

  • AVFormatContext: コンテナ
  • AVStream: ストリーム、映像とか音声とかに対応、AVFormatに帰属
  • AVCodecContext: エンコーダ/デコーダ
  • AVFrame: 生データの単位
  • AVPacket: エンコードされたデータの単位
  • AVIOContext: I/O、通信ソケット類とかファイルとかに対応、コンテナに紐づけできる

cpprefjpを読み進めた。

異なる文字エンコーディングをもつ文字列リテラルの連結を不適格とする

確かに、シンプルに要らなそう。

無意味なexport宣言を禁止する

今一つ狙いがよく分かんないな。

添字演算子の多次元サポート

これ結構使い方次第で面白そう。多次元配列以外にもなんかクエリっぽい処理とかを書くのに使うとかっこよさそう。

汎用的なソースコードのエンコーディングとしてUTF-8をサポート

UTF-8のサポートをもう要求しちゃうんだ。まあ実行時じゃなくてソースコードなら確かにアリだし嬉しい。

暗黙的なムーブを簡略化

どうやら今まで暗黙ムーブを許可する対象をちょっとづつ拡大してきた関係で仕様が複雑になっていたのを、簡単にまとめ直したということらしい。大雑把な自分の理解ではこう。

return文またはthrowの対象が

  • ローカル変数
  • ローカル変数への右辺値参照

のとき、式は問答無用でxvalueとして扱われ、戻り値型のムーブコンストラクタが暗黙的に呼ばれる。そこで失敗した場合即コンパイルエラーになる。

こういう仕様のまとめ直しをやるんなら、constexpr関数内でできることとかも簡単にまとめ直してほしいな。

文字リテラルエンコーディングを一貫させる

文字列リテラルのナロー文字エンコーディングを検出するために使われていた

ナロー文字エンコーディングというのは、恐らくワイド文字列じゃないやつという意味のようだ。あんまり文意がよく取れないが、文字コードの判定という意味か?そうすると確かに実行時に計算された文字コードとコンパイル時の文字コードが同じである必要がある。

ソースファイルと実行時文字データでは文字コードが違いうるはずだが、実行時文字データとコンパイル時文字データについては合わせようねという話だろうか?

定数式内での非リテラル変数、静的変数・スレッドローカル変数およびgotoとラベルの存在を許可する

またconstexpr内で評価されない限り出来ることが増えたらしい。

定数式の文脈でのboolへの縮小変換を許可

今まで出来なかったんだ。boolへの縮小変換は凶悪だから無理にこんなん導入しなくても良かったのでは?という気もするが、まあ普通のifとかとの一貫性があるのはありがたい。

変数テンプレートの部分特殊化を許可

それはまあ、やれてほしい。

Categories: