C++20 コア言語機能読書会vol.11
開催日時
2022年7月20日(水) 21:00~22:30
開催URL
参加人数
4人
ウォーミングアップ
nullptrを所有するshared_ptr
p.42 3.1 仮想関数
禁止する理由がなかったからこの制限は撤廃された
ちょっと変わった理由な気がする
std::error_codeなんてあったんだ
またコンパイル時間が長くなりそうな機能だ…
p.43 3.2 dynamic_cast/typeid
コンパイル時に「動的」とは…?
決まり切ってるからコンパイル時に解決して静的にできる
typeid演算子が返す型はstd::type_info
ここのautoはすべて同じ型(std::type_info)
constexprだけでtypeidを使っている限りではコンパイル時にRTTIオプションを付けていなくても使えたりするのかな?
-fno-rttiオプション付けたらエラーになった。残念
エラー出してるだけでしょこれ
p.45 3.3 try-catch
n2はconstexprを外せばコンパイル通る
std::vectorがbad_allocを出す可能性があるので障壁はまだありそう
std::vectorがconstexpr対応したら色々と夢が広がりそう
コンパイル時に例外投げれないのは残念
むしろコンパイル時にそんなの投げるなよ、という考えも
3.4 共用体のアクティブメンバ切り替え
これもconstexprの時の話
3.5 トリビアルなデフォルト初期化
次回ここから
お悩み雑談室