[過去ログ]
Boostを語れゴラァ part3 (1001レス)
Boostを語れゴラァ part3 http://echo.5ch.net/test/read.cgi/tech/1158991211/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
541: デフォルトの名無しさん [sage] 2007/01/04(木) 16:05:49 >programer programmer http://echo.5ch.net/test/read.cgi/tech/1158991211/541
542: デフォルトの名無しさん [sage] 2007/01/04(木) 17:55:53 >programmer programer http://echo.5ch.net/test/read.cgi/tech/1158991211/542
543: デフォルトの名無しさん [sage] 2007/01/04(木) 19:01:27 pugeramer http://echo.5ch.net/test/read.cgi/tech/1158991211/543
544: 535 [sage] 2007/01/05(金) 04:25:51 POCOにバグレポ書いたと思ったら、もうFixされたバージョンリリースされてた。 はえー。 拙い英文でもバグレポ書いた甲斐があったわ。 勇気付けてくれた >>534 あんがと。 http://echo.5ch.net/test/read.cgi/tech/1158991211/544
545: デフォルトの名無しさん [sage] 2007/01/05(金) 11:12:28 英語力がないから>535の意味を掴み切れない_/ ̄|○ #今年は真面目に(系統立てて)勉強するかな…… http://echo.5ch.net/test/read.cgi/tech/1158991211/545
546: 535 [sage] 2007/01/05(金) 12:11:30 >>545 俺のアホな英文が分からないのは、多分君のせいじゃない。 相手はプログラムを良く理解してるから、クラスやメソッド名などのキーワードを 見て、問題を理解してくれたんだと思う。 今日も POCO を眺めてみたが、std::string ベースなので Path クラスが 日本語名を上手く扱えないという実にありがちな問題が……。 一見すると POCO_WIN32_UTF8 を定義して utf-8 ベースでやってれば 上手く機能しそうにも見えたが、たまにそのまんま std::fstream とかに 渡してるから、やっぱダメだな。 つうかいつになったらWindowsはja_JP.UTF8風なコードページをサポートして くれるんだ。OS内部だけUTF-16化されてたってしょうがないだろうに。 http://echo.5ch.net/test/read.cgi/tech/1158991211/546
547: デフォルトの名無しさん [sage] 2007/01/05(金) 12:41:48 >>546 無理 ttp://blogs.msdn.com/michkap/archive/2007/01/03/1392379.aspx まあ、ここでも言われているけど、 98がラッパでUnicodeをサポートできるように、 UTF-8のラッパをかぶせられないこともない。 どれほどの需要があるのか分からないけど。 http://echo.5ch.net/test/read.cgi/tech/1158991211/547
548: デフォルトの名無しさん [] 2007/01/06(土) 09:17:55 shared_ptrやweak_ptrのソースを調べてるんだけど、 shared_ptrは内部でweak_ptrを使ってるようだけど、これは何のため なんだろうか。weak_ptrはshared_ptrの循環参照の欠点を克服できる という話を聞いてるんだけど、shared_ptrのなかにすでにweak_ptrが使われてる ということは、もうshared_ptrは循環参照を克服したってことでいいんですか? 違うとしたら、weak_ptrをどう使ってshared_ptrの循環参照を克服できるのか 教えてください。weak_ptrのソースみてみると、なんだかweak_countという 別のカウンタを使っているだけで中身はほとんどshared_ptrと同じように参照カウンタ方式 にみえるんだけど、これで本当に循環参照、解決するんだろうか…? http://echo.5ch.net/test/read.cgi/tech/1158991211/548
549: デフォルトの名無しさん [sage] 2007/01/06(土) 10:05:47 ttp://www.kmonos.net/alang/boost/ ここのスマートポインタってところ読んでから来いや。 http://echo.5ch.net/test/read.cgi/tech/1158991211/549
550: デフォルトの名無しさん [sage] 2007/01/06(土) 10:12:40 >もうshared_ptrは循環参照を克服したってことでいいんですか? よくない。 weak_countは参照カウンタの参照カウンタとでも言えばいいんだろうか。 struct A { shared_ptr<A> a; } shared_ptr<A> hoge(new A); hoge.a = hoge; struct A { weak_ptr<A> a; } shared_ptr<A> hoge(new A); hoge.a = hoge; この二つでどのように参照カウンタが変化するのか、調べてみるといいよ。 http://echo.5ch.net/test/read.cgi/tech/1158991211/550
551: デフォルトの名無しさん [] 2007/01/06(土) 11:16:45 >550 shared_ptrはカウンタ増えるけど、 weak_ptrはカウンタ増えないね。weak_ptrのカウンタはなぜ増えない?? 代入で増えるように定義されてるように見えたんだけど >549 いちおう読みました http://echo.5ch.net/test/read.cgi/tech/1158991211/551
552: デフォルトの名無しさん [] 2007/01/06(土) 13:50:29 循環参照が置きるshared_ptrの相互参照がある場合、 相互参照の片方をweak_ptrに置き換えて循環参照が解決できる、 という理解でよろしいんでしょうか、ご教授ください http://echo.5ch.net/test/read.cgi/tech/1158991211/552
553: デフォルトの名無しさん [sage] 2007/01/06(土) 13:51:53 そんな事、人に訊かんとわかんないもんかね。 http://echo.5ch.net/test/read.cgi/tech/1158991211/553
554: デフォルトの名無しさん [] 2007/01/06(土) 14:34:16 >553 これって実は誰でも知ってること?? http://echo.5ch.net/test/read.cgi/tech/1158991211/554
555: デフォルトの名無しさん [sage] 2007/01/06(土) 14:36:23 >相互参照の片方をweak_ptrに置き換えて循環参照が解決できる この説明だと片方を単にポインタに置き換えるだけで良いじゃないか,という反論が 想定され, weak_ptr の本質的な利点と特徴を説明できていないような? http://echo.5ch.net/test/read.cgi/tech/1158991211/555
556: デフォルトの名無しさん [sage] 2007/01/06(土) 15:22:57 >>554 皆知ってるかは知らんが、自分で結論出せないのなら 完全に理解できてないってことだ。 http://echo.5ch.net/test/read.cgi/tech/1158991211/556
557: デフォルトの名無しさん [sage] 2007/01/06(土) 15:45:06 そりゃ完全に理解できてないから訊いてるんだろ。 http://echo.5ch.net/test/read.cgi/tech/1158991211/557
558: デフォルトの名無しさん [] 2007/01/06(土) 15:48:06 >555 単にポインタに置き換えるだけだと、自動で消えないからマズいんですよね?? weak_ptrなら、相互参照の片方が消えたら自分も消えるんでウマいこと いくってことでOK? >556 結論を出してみたけど間違ってたまま覚えてたらまずいんで 合ってるのかどうかだけでも教えてください http://echo.5ch.net/test/read.cgi/tech/1158991211/558
559: デフォルトの名無しさん [sage] 2007/01/07(日) 03:14:24 boostのUnitTestってCppUnitと比べてどんな感じですか? http://echo.5ch.net/test/read.cgi/tech/1158991211/559
560: デフォルトの名無しさん [sage] 2007/01/07(日) 03:26:17 マグロとイカフライみたいな感じかな http://echo.5ch.net/test/read.cgi/tech/1158991211/560
561: デフォルトの名無しさん [sage] 2007/01/07(日) 03:32:22 >>560 ありがとうございました http://echo.5ch.net/test/read.cgi/tech/1158991211/561
562: デフォルトの名無しさん [sage] 2007/01/07(日) 05:51:31 ちょww http://echo.5ch.net/test/read.cgi/tech/1158991211/562
563: デフォルトの名無しさん [] 2007/01/07(日) 13:58:09 weak_ptrにいれたshared_ptrのカウントと、weak_ptrのカウントが 同じカウントになるような気がする。 つまりshared_ptrが消えるときにweak_ptrのカウントもゼロになって 同時に消える仕掛けになってると考えていいんでしょうか先生? http://echo.5ch.net/test/read.cgi/tech/1158991211/563
564: デフォルトの名無しさん [] 2007/01/07(日) 15:19:12 ちがった・・・入ってるshared_ptrが消えてもweak_ptrのカウントは1残った… それまではカウント同じなのになぜ?? http://echo.5ch.net/test/read.cgi/tech/1158991211/564
565: デフォルトの名無しさん [sage] 2007/01/07(日) 20:29:47 >>558 >単にポインタに置き換えるだけだと、自動で消えないからマズいんですよね?? いや, weak_ptr の機能は参照先のオブジェクトの生存管理と直接は無関係です. 普通のポインタで参照していようが, weak_ptr で参照していようが, shared_ptr による参照カウントが0になればそのオブジェクトは消えます. 単なるポインタと比較した場合の weak_ptr の利点は, -参照先のオブジェクトが生存しているかどうかを調べることができて,かつ -shared_ptr に格上げできる ことです. いずれにせよ, shared_ptr による循環参照の問題の解決するにあたって, 必ず weak_ptr の機能が必要になるわけではないです. 単に weak_ptr の機能を理解しようとするだけなら, 循環参照の問題はとりあえず脇に置いておいた方が良いような気がします. http://echo.5ch.net/test/read.cgi/tech/1158991211/565
566: デフォルトの名無しさん [sage] 2007/01/07(日) 20:46:53 >>563 shared_ptr の実装は,参照カウントによって管理されるオブジェクト (A とします) と独立して,新たにフリーストア (ヒープ) 上に 参照カウント用のオブジェクト (X とします) を生成します. X は, A の参照カウントと独立して自分自身の参照カウントも持っていて, 独立した2つの参照カウントを持っているイメージになります. shared_ptr が1つ作られるごとに A の参照カウントと X の参照カウント両方が 1つ増やされ, shared_ptr が1つ破壊されるごとに A の参照カウントと X の参照カウント両方が1つ減らされます. weak_ptr が1つ作られるごとに X の参照カウントのみが増やされ, weak_ptr が1つ破壊されるごとに X の参照カウントのみが減らされます. A の参照カウントが0になれば A を delete します. しかし, X の参照カウントが0になっていなければ X は破壊されません. 最終的に全ての shared_ptr と weak_ptr が存在しなくなった時点で, X の参照カウントは0になります.この時点で X は delete されます (自殺します). 以上が, shared_ptr と weak_ptr の実装面での動作です. http://echo.5ch.net/test/read.cgi/tech/1158991211/566
567: デフォルトの名無しさん [] 2007/01/08(月) 03:42:00 >>566 うそ〜ん??shared_ptrはカウントを二種類持ってるってこと? あ、sp_countと内部のweak_ptrの二種類のことを言ってる?? http://echo.5ch.net/test/read.cgi/tech/1158991211/567
568: デフォルトの名無しさん [] 2007/01/08(月) 04:04:00 >weak_ptr が1つ作られるごとに X の参照カウントのみが増やされ, >weak_ptr が1つ破壊されるごとに X の参照カウントのみが減らされます. shared_ptr<A> hoge(new A); cout << hoge.use_count() << endl; weak_ptr<A> hogehoge(hoge); cout << hoge.use_count() << endl; cout << hogehoge.use_count() << endl; 試してみたらどっちも増えなかったよ http://echo.5ch.net/test/read.cgi/tech/1158991211/568
569: デフォルトの名無しさん [sage] 2007/01/08(月) 10:57:47 >>568 weak_ptrのuse_countはweak_countを返すわけじゃないよ。 ドキュメント読め。 http://echo.5ch.net/test/read.cgi/tech/1158991211/569
570: デフォルトの名無しさん [sage] 2007/01/08(月) 18:09:37 Boost.Timeseries Boost.Accumrator は結局アクセプトされたの? http://echo.5ch.net/test/read.cgi/tech/1158991211/570
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 431 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.014s