memset談義

オーバーフロー談義(参考): togetter.com/li/929463 無限大談義(参考): 続きを読む
1
tubo28 @tubo28

fillに渡すポインタは第三引数と同じ型を指すとみなされるんですね (accumulateと同じように注意しないといけないらしい)

2016-05-04 21:09:24
みさわ @Mi_Sawa

@tubo28 *(it++) = true のように, 渡したイテレータ/ポインタの型が, それのインクリメントに適用されると思うのですが, どういう動きを想定していたんでしょう. melpon.org/wandbox/permli…

2016-05-05 00:06:33
みさわ @Mi_Sawa

fill とか accumulate は, 普通に自分で実装するときのの気持ちになると人道的な挙動をするけれど, memset とかはよくわからなくて怖いので使ったことがない.

2016-05-05 00:10:45
みさわ @Mi_Sawa

accumulate で It::value_type x = init; という形にするという可能性もあるか…

2016-05-05 00:16:22
agw @masashinakata

@tubo28 (もうちょっとkwskプリーズ)

2016-05-05 00:20:42
not @not_522

memsetは危険だが、危険であることを知っていれば問題ない

2016-05-05 00:26:28
くりんぺっと @climpet

std::accumulateの第三引数をintにしてしまって死ぬ回

2016-05-05 00:27:03
tubo28 @tubo28

@masashinakata 僕がいろいろ勘違いしてfill(dp,dp+1000,false)とするとdp[249]までしか埋まらない(ポインタdpはbool型だと判断されてintの1/4しか進まないため)と誤解したのですが、期待通り動きますということです…

2016-05-05 00:28:12
agw @masashinakata

@tubo28 をー、ありがとうです! つまりイテレータと第三引数の型が違う場合はイテレータ側の型に合わせてキャストされるということっすよね?

2016-05-05 00:29:32
agw @masashinakata

TLでmemsetとかstd::fillとかがつぶやかれてて、つい最近もmemsetとかINFとか0x3fとかについて話したなあと考えていたんだけど、そのときそのときまとめていたようだ…

2016-05-05 00:39:01
agw @masashinakata

二つあったんだけど、memset談義とは名づけなかったんだなあ: オーバーフロー談義: togetter.com/li/929463 無限大談義: togetter.com/li/728673

2016-05-05 00:41:12
みさわ @Mi_Sawa

@masashinakata fill でも型をちゃんと揃えれば出来ますね. melpon.org/wandbox/permli…

2016-05-05 00:51:10
agw @masashinakata

@mi_sawa をー、すごい。x[10][0][0]ってところが痺れますね!

2016-05-05 00:52:11
agw @masashinakata

memset談義を作る機運が高まる(またフォークするのか)

2016-05-05 00:52:46
くりんぺっと @climpet

fill(**x, **x+sizeof(x)/sizeof(***x), 123456789); とかはまあやる

2016-05-05 00:53:54
agw @masashinakata

(オーバーフロー談義と無限大談義とmemset談義は相互参照させておくか…)

2016-05-05 01:08:02