Effective Modern C++読書会 vol.3 ================================ - 場所:フェンリル株式会社 - 日時:2016/01/18 19:30~21:00 - http://cpp-osaka.connpass.com/event/25468/ 項目3 ----- * pp.22~23にかけて、「()」以外に他にはまり方は存在する? decltype(auto)ではまる可能性があるのは()を使った場合のみ。 * decltype(auto)に「&,*」をつけられない つけたければautoを使う。 項目4 ----- * typeid(x).name()が出力する文字列の決まりは規格書にはない * deplicatedでwarningを出せば人間に読める形で型が出力される。(printfデバッグ的な) * ラムダ式の型はコンパイラにしかわからない。 ラムダ式をtypid()に入れると訳の分からない文字列が返ってくる。 * typeidに寿命はない .. typeid()が * functionとautoは同じではない。 functionの方がメモリ的にオーバーヘッドが生じる .. メモリ大きいラムダ式にAlgorithmを渡すとcoverityが警告を出すけど ラムダ内リファレンスでキャプチャするとでかいコピーが走った 実装依存だが スタックフレームのポインタをコピー * []なにもキャプチャしないラムダ式は関数ポインタに代入できる。 Cのコールバックをラムダで書くこともできる。 項目5 ----- * autoで宣言した変数は必ず初期化される 初期化したくない場合はautoは使えない お悩み雑談室 ------------ * ASSERTに副作用のある関数が含まれていることを検知する方法はある? →難しい * pure attributeが提案中 | 副作用のあることをやっていたら怒り出す。 | でも引数に副作用がある場合は検知できない… .. 徴収人数 8人(11-2-1):1600円 学生さん交通費 2000 1840 プール金:1750円