EffectiveC++読書会#03

EffectiveC++読書会#03
2
若年寄(もう若くない) @kikairoya

先ほどからホワイトボードをフル活用して解説をしているのは @decimalbloat (長門社) です #efcpp読書会

2012-07-23 20:15:07
YuaKING @jyample

一時オブジェクトへの代入はC++03では防げない #efcpp読書会

2012-07-23 20:16:13
YuaKING @jyample

vector<bool> の添字演算子が返す値への代入はうまいように動いてくれる(?) #efcpp読書会

2012-07-23 20:26:43
栗坂こなべ @kurisaka_konabe

#efcpp読書会「コンパイル通ったからって規格通りとは限らない」

2012-07-23 20:30:24
くれすとさん@充電中 @thayamizu

10項の結論:とりあえず*thisを返しとけ。#efcpp読書会

2012-07-23 20:32:44
遥佐保 @hr_sao

ホワイトボードにでちまる先生が書き直してます。。 #efcpp読書会

2012-07-23 20:33:24
遥佐保 @hr_sao

void operator=(~) && =delete; A & operator=(~) &= default; #efcpp読書会

2012-07-23 20:34:57
くれすとさん@充電中 @thayamizu

ただの代入演算子の話なのに掘り下げると深い話題だな。#efcpp読書会

2012-07-23 20:35:25
栗坂こなべ @kurisaka_konabe

#efcpp読書会 EffectiveC++第3版 第2章 11項 『operator=の実装では、自己代入に備えよう』

2012-07-23 20:35:46
遥佐保 @hr_sao

12項「コピーするときは、オブジェクトの全体をコピーしよう」 #efcpp読書会

2012-07-23 20:47:42
栗坂こなべ @kurisaka_konabe

#efcpp読書会 p.52 中。「 元の値を退避させて newしてからdeleteする。newが失敗しても元の値に戻るだけ。→そもそもnew失敗すんな→Exceptional C++を読もう→newで失敗するっていうよりもコンストラクタで失敗する。」

2012-07-23 20:48:01
栗坂こなべ @kurisaka_konabe

#efcpp読書会 時間に余裕があるのでエクストラステージに突入。12項『コピーするときは、オブジェクトの全体をコピーしよう』 「コピーを自分で書くな」

2012-07-23 20:51:44
遥佐保 @hr_sao

しーらいと先生と、うしさんが、戦ってる #efcpp読書会

2012-07-23 20:52:58
YuaKING @jyample

追加するメンバにコピーアサイナブル(?)を要求すれば、代入演算子を書かなくてもいい #efcpp読書会

2012-07-23 20:56:41
遥佐保 @hr_sao

コピー代入演算子の書き忘れて、コピー漏れとか防ぎたいよね!今のC++で自動で対応できる方法は無いけど書くときに、コードの進化を意識して書くしかないかなぁ。自動対応の方法はC+11では無い。次の規格(C++1y)とかでメタ的に書ける様になる?? #efcpp読書会

2012-07-23 21:00:54
遥佐保 @hr_sao

C++11もよくわからんのにC++1yて… #efcpp読書会

2012-07-23 21:02:01
hichiwa @t_hichiwa

熱い戦いが繰り広げられてますねー。楽しそうw #efcpp読書会

2012-07-23 21:02:24
遥佐保 @hr_sao

用語:コピーアサイナブル→コピー代入が出来る、という要求仕様。ストロングギャランティ→関数が例外に対して強い保証p134 #efcpp読書会

2012-07-23 21:07:40
遥佐保 @hr_sao

「ベーシックギャランティ、ストロングギャランティなど、プログラマが指定して書くとかいう種類の話では無いですよ」 #efcpp読書会

2012-07-23 21:09:56