とあるvoid *とboost::shared_ptr

boost::shared_ptrがどんなクラスのポインタを入れてもデストラクタが呼び出される件
7
でちまるさん(実際かわいい) @decimalbloat

void*を挙げるぐらいならshared_ptr<void>をオススメします!

2010-09-07 23:58:59
d金魚 @studiokingyo

shared_ptr<void>ってnew POD[size]しか受け付けないのかな?えらく使いにくそうなイメージ RT @decimalbloat void*を挙げるぐらいならshared_ptr<void>をオススメします!

2010-09-08 01:07:56
相沢陽菜 @fetus_hina

@studiokingyo 他の shared_ptr から移したり、deleter 指定してやれば普通に使えるとおもいますけど

2010-09-08 01:09:30
d金魚 @studiokingyo

@SubaruG @fetus_hina なんとそんな便利な使い方があったとは…勉強になります。RT @fetus_hina @studiokingyo 他の shared_ptr から移したり、deleter 指定してやれば普通に使えるとおもいますけど

2010-09-08 01:10:39
d金魚 @studiokingyo

void *だなんて型はさておきポインタをとにかく保存しておいてくれ!みたいな用途にしか使わないから変数と同じ感覚の発想しか思いつかなかった。

2010-09-08 01:11:34
普通のC++使い、銀天すばる @SubaruG

deleter 指定とかしなくても普通に使える。

2010-09-08 01:12:44
普通のC++使い、銀天すばる @SubaruG

まぁ本来的には make_shared するべきだけどね。

2010-09-08 01:13:00
相沢陽菜 @fetus_hina

shared_ptr といえばくらいおらいと先生のアレなんだけど URL がすぐ出てこない…(と言ってたら誰か @studiokingyo さんに送ってくれるだろう…)

2010-09-08 01:13:07
くっくっkura 🇯🇵🦀 @PG_kura

http://www.ustream.tv/recorded/2981654 RT @fetus_hina: shared_ptr といえばくらいおらいと先生のアレなんだけど URL がすぐ出てこない…(と言ってたら誰か @studiokingyo さんに送ってくれるだろう…)

2010-09-08 01:14:12
普通のC++使い、銀天すばる @SubaruG

自blogの宣伝も兼ねて: C(ry センセの shared_ptr 講座へのURLを含んだエントリ: http://d.hatena.ne.jp/gintenlabo/20091214/1260804379

2010-09-08 01:14:30
普通のC++使い、銀天すばる @SubaruG

shared_ptr の生ポインタを受け取るコンストラクタはテンプレートなので、正しい型の delete が呼ばれます。

2010-09-08 01:15:20
普通のC++使い、銀天すばる @SubaruG

まぁ普通は make_shared でつくるけど。一応その例の ideone も作るか。はい: http://ideone.com/Rrem4

2010-09-08 01:17:30
d金魚 @studiokingyo

shared_ptrとboostのbad-knowhowタグが量産される件

2010-09-08 01:18:55
普通のC++使い、銀天すばる @SubaruG

shared_ptr は全てを受け入れるのです。それはそれは残酷n(ry

2010-09-08 01:20:59
d金魚 @studiokingyo

個人的にはyaneSDk3rdのsmart_ptrの方が好きだったりする件。だからshared_ptrなんていらないよーだ。とかその前に… shared_ptrを使用するほどの複雑なプログラムを書かない件。scoped_ptrで十分な件。C言語的C++プログラミングしかしない件。

2010-09-08 01:21:52
d金魚 @studiokingyo

今日覚えたこと。make_shared()

2010-09-08 01:22:21
d金魚 @studiokingyo

ライーは素晴らしい!!!ブクマブクマ。 RT @SubaruG まぁ普通は make_shared でつくるけど。一応その例の ideone も作るか。はい: http://ideone.com/Rrem4

2010-09-08 01:23:59
d金魚 @studiokingyo

だけど、何故voidでもデストラクタが… ってそれを述べているのが前述のツイート郡なのね。チェックが大変だ。

2010-09-08 01:25:28
くっくっkura 🇯🇵🦀 @PG_kura

さっきのすばるセンセの ideone が shared_ptr の type erasure を簡潔かつ如実に表している。http://ideone.com/HzElf

2010-09-08 01:27:43
普通のC++使い、銀天すばる @SubaruG

@studiokingyo make_shared を使うと、本来二回行う必要のあるメモリ確保を一度に抑えられる(というか参照カウントする部分を覗いて実質的に unique_ptr と処理速度が変わらなくなる)ので便利です。

2010-09-08 01:27:59
ちむら▽ || にしん🥞🤩🥕🍚🦇 @thimura

http://slidesha.re/9bjds3 の p26 以降が参考になるかと RT @studiokingyo: だけど、何故voidでもデストラクタが… ってそれを述べているのが前述のツイート郡なのね。チェックが大変だ。

2010-09-08 01:28:10