yohhoyの日記

技術的メモをしていきたい日記

2021-11-01から1ヶ月間の記事一覧

C++コルーチン送出例外のハンドリング戦略

C++

C++20コルーチンからの例外送出ハンドリングに関するメモ。C++コルーチンライブラリの設計者向け。C++コルーチン言語仕様では、コルーチン送出例外ハンドリングのカスタマイズポイントとしてpromise_type::unhandled_exception関数を規定する。プログラマが…

コルーチン×ラムダ式キャプチャ=鼻から悪魔

C++

C++20 コルーチンとキャプチャありラムダ式の組合せは、キャプチャ変数の生存期間(lifetime)切れによる未定義動作(undefined behavior)を引き起こすリスクが高く、原則として併用すべきでない。要約:ラムダ式でキャプチャした変数はコルーチン中断時にコル…

1 << 31 == ?

C++

C++言語における符号付き整数型の左ビットシフト<<と符号ビットの関係について。まとめ: 2の補数表現が保証されたC++20現在、左ビットシフト<<は論理左シフト(logical left shift)が保証される。 おまけ:C++20現在、右ビットシフト>>は算術右シフト(arithm…

Preconditions: false is true.

C++2b(C++23)向けに提案されているコード不到達表明std::unreachable関数の前提条件。 2022-02-09追記:2022年2月会合にて(PDF)P0627R6が採択され、C++2b標準<utility>ヘッダにstd::unreachable関数が追加される。2022-07-25追記:次世代C言語標準でもC2x(C23)向け提</utility>…