[表示 : 全て 最新50 1-99 101- 201- 2chのread.cgiへ]
Update time : 04/09 22:23 / Filesize : 71 KB / Number-of Response : 255
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Boost総合スレ part7



1 名前:デフォルトの名無しさん [2009/01/19(月) 21:22:22 ]
過去スレ
part 6 pc11.2ch.net/test/read.cgi/tech/1207749841/
part 5 pc11.2ch.net/test/read.cgi/tech/1192662575/
part 4 pc11.2ch.net/test/read.cgi/tech/1175663346/
part 3 pc11.2ch.net/test/read.cgi/tech/1158991211/
part 2 pc8.2ch.net/test/read.cgi/tech/1139313234/
part 1 pc8.2ch.net/test/read.cgi/tech/1091198276/

■関連サイト■
Boost C++ Libraries
www.boost.org/

Boost 翻訳プロジェクト
boost.cppll.jp/HEAD/

Let's Boost
www.kmonos.net/alang/boost/

boost info
shinh.skr.jp/boost/

13 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 09:19:21 ]
>>10
-lboost_system-mt

14 名前:10 mailto:sage [2009/01/22(木) 16:35:26 ]
>>13
無事コンパイルできました.
冷静に考えてみると,エラーを見たらboost::systemを参照してたんですね...
それにしてもなんでmacだけ挙動が違うんだろうか.
とにかくありがとうございました!!

15 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 17:21:16 ]
ubuntuに入ってるのが1.34.1以前なんじゃね

16 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 18:33:46 ]
更新しました。
ttp://booster.x0.to/

17 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 21:08:29 ]
いったい何人が落としてるのか知らんが
RSS配信でもしてテンプレにURL貼るとかすりゃいいのに
毎度毎度スパムのように貼るな

と言ったら荒れるのだろうか

18 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 08:17:34 ]
>>17
そうカリカリすんな。お前は本物のスパムにもマジレスするのか?
目障りだと感じたなら黙ってあぼーんするだろ?

19 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 12:04:12 ]
もうすぐ1.38ですね。
何が変わったのか楽しみ

20 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 15:45:15 ]
0xまでC++はおあずけ

21 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 11:03:31 ]
0xいらね



22 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 23:18:01 ]
マイクロ秒の値をミリ秒に変換するのにboost::unitsを使うのは重すぎ?
1000で割るだけのことなんだけど、1000倍する人がいたりするので、
こういう仕組みを導入する必要もあるかもしれないと思って勉強してるんだが、
思ったより複雑でちょっと挫折しかけてる。

23 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 10:54:49 ]
>1000で割るだけのことなんだけど、1000倍する人がいたりするので、
>こういう仕組みを導入する必要もあるかもしれないと思って勉強してるんだが、
そういう仕組みを導入するより、1000倍して尚且つテストもしてみない阿呆を切るべき。

24 名前:デフォルトの名無しさん [2009/01/26(月) 11:30:44 ]
boost::functionより速いらしい・・・
www.codeproject.com/KB/cpp/fastdelegate2.aspx

25 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 18:14:43 ]
>>24
実装は面白いけれどさ。
正直言って速度差は微々たる物だなぁ。
呼び出しにかかる時間は、現実的に問題にならない。
実際のコードでは、桁が何桁も違うくらい遅い処理を、その呼び出された関数の中でするはず。
すると一千万回呼んで500〜1000msぐらいの速度差なんてどうでも良くなってしまう。

劇的に違うのはコピーにかかる時間で、
これはBoost.Functionの実装ではヒープを使っているために目に見える速度差がでるんだろうけど。
一千万回コピーして十秒足らず。

そんなにコピーする?

26 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 18:33:18 ]
それよりコンパイルが早いのがほしいわ

27 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 22:13:44 ]
>>26
激しく同意

28 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 22:15:05 ]
公共の仕事に配属された。

boost禁止だと・・・orz

29 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 22:23:06 ]
コンパイル早くするのはマシン変えるのがいいんじゃね。

30 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:13:36 ]
そりゃ、下手すりゃ数十年単位で保守を続けるプログラムに変化の激しいboostは論外だろ。
大人しくC++0xの正式リリースを待て。

31 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:47:25 ]
boostのソースもってきて独自実装に入れちゃえよ。



32 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 00:00:44 ]
boostのソースコードを使うことにはライセンス的にまったく問題ないわけだから、
お前の書いたコードして使うってのはだめなの?

33 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 00:43:46 ]
そのBoostのコードだれかメンテできんのか?
あ,本家のコードに追随して更新していけばいいか…

34 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 08:46:32 ]
>>33
俺は自分がメンテできるとこだけ移植してるな

その過程でソースを詳しく見ることになるので
いろいろと勉強になることも多い

35 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 10:45:02 ]
>>33
別に更新し続けなければいけない理由はないだろ。
もし、自分が「更新されたboostに追加された機能」を使いたいなら必要だけど。

36 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 17:11:35 ]
boost.intrusive.listでアロケータを設定したいのですが設定できませんか?
std::allocatorや自作のアロケーターをテンプレートレベルで混在させたいですぅ。

37 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 17:30:30 ]
すみません自己解決しました。

38 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 13:21:57 ]
1.38のリリース準備が完了したみたいですね。

39 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 00:06:48 ]
New Libraries: Flyweight, ScopeExit, Swap. Updated Libraries: Accumulators, Exception, Hash, Multi-index Containers, Proto, Unordered, Xpressive
ttp://beta.boost.org/users/news/version_1_38_0

40 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 00:54:31 ]
>ScopeExit
もう自前でscope_guard書く必要がなくなるんだろうか

41 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 12:04:22 ]
boost::hoge
を文章の中で言うときは
boost.hoge
って書くことになってるの?



42 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 12:43:31 ]
>>41
いいえ

43 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 21:52:32 ]
更新しました。
ttp://booster.x0.to/

迷惑という意見が多い様でしたらサイトを閉じます。

44 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 22:16:05 ]
>>43
稀によく落とすからなくなると寂しい。
とは言え更新箇所わからないし最新版欲しかったら自分からチェック入れるからな。

45 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 01:29:45 ]
>>43
気にせず続けてくれ

46 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 02:04:04 ]
更新の通知の仕方に文句を付けられただけなのに、いきなりサイト閉鎖とは気が早いな。

47 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 07:21:27 ]
あれ!?
>>43
のサイトまじで消えてる!!

48 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 09:18:59 ]
今日は1.38のリリース日だー(・∀・)

49 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 10:40:19 ]
>>47
あるよ。リロードしてごらん

boostの発展のためには、ライブラリを簡単に使えるよに支援してくれるサイトの存在は良いことだと思うよ。



50 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 22:45:18 ]
もうすぐ1.38 wkwkbnbn

51 名前:デフォルトの名無しさん [2009/02/01(日) 20:12:06 ]
>>43
サイトを閉じることで更新の報告がなくなるのなら、ぜひお願いします。



52 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 20:37:30 ]
スレの保守を兼ねていて悪くないとは思うんだけどな。

53 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 20:48:11 ]
更新報告でスレが埋まる訳でも無し
>>51は個人的に恨みでもあるのか

54 名前:デフォルトの名無しさん [2009/02/01(日) 21:28:51 ]
>51
むしろお前がなくなればいい

55 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 22:21:23 ]
>>43様の報告レスがあれば保守ageをしなくて済むというメリットが

56 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 22:46:27 ]
では次回から、SVNのコメントから重要そうなものを幾つか抜粋して
書き込み時に添える様に致します。

57 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 13:48:03 ]
あー、それなら更新点報告ということで役にも立つな。

58 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 17:32:05 ]
便利なサイトだった
コメントつけたことはなかった

59 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 10:03:03 ]
1.38がまでリリースされてない件について!!

60 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 10:34:25 ]
beta2出たのが1/30だぜ?

61 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 13:46:37 ]
C++0xが出た後のboostはどうなるんだろうね。
0x拡張分の6割だか7割だかはboost発祥だそうだし、
0xとの重複分を廃止した上で新たなクラスを追加構築していくのかな?



62 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 16:54:35 ]
いやいや、非対応の古い処理系向けに残ってくれないと困る。
今だってTR1が出た後にunorderedとかhashとか追加しているくらいだ。

63 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 17:50:53 ]
C++0xが広く普及するまではlambdaにはboost版はやっぱり必要だもんな。
0xの普及が遅いとboost版から抜けられなくなるかも



64 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 18:08:47 ]
すみません、#ifdefでboostが使えるかどうかの判定ってできますか?

65 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 18:32:57 ]
>>64
ヘッダーが読み込まれていれば頭で何らかのシンボル定義してるだろうから、それで確認?



66 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 18:37:09 ]
>>65
ありがとうございます。やってみます。

67 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 21:07:35 ]
ヘッダーの読み込みが余所で行われている前提ならともかく自分で #include するなら
boost 使えない時にエラーになっちゃうし。
普通そーいうのは configure とかでやる。

68 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 11:40:39 ]
boostの正規表現ライブラリって日本語対応してないんだな。
ショック

69 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 12:29:26 ]
wide char版なら使えるんでは?

70 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 17:22:40 ]
>>68
boost::wregex
boost::u32regex
好きなほう使え

mingwでicuのstatic作るのにmakefileかなり修正させられた。

71 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 18:23:49 ]
boost::regexよりもboost::xpressive(非静的記述でも)のほうが速いって認識であってる?



72 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 19:53:36 ]
UTFにすることで日本語も問題なく使えるんじゃなかったっけ?

73 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 04:48:31 ]
更新しました。
ttp://booster.x0.to/
今回から、前回のビルドからの変更点を記載したchangelog.txtを同梱する様に致しました。
以下その一部
Fix bug in bessel_jn for n == -1.
Add new test case.
Modified : /trunk/boost/math/special_functions/detail/bessel_jn.hpp
Modified : /trunk/libs/math/test/test_bessel_j.cpp
Added missing config.hpp include for the wide characters support configuration macro.
Modified : /trunk/libs/date_time/test/testfrmwk.hpp
Changed to two_bit_color_map by default
Modified : /trunk/boost/graph/dijkstra_shortest_paths.hpp
Default color map to white, and fixed some warnings
Modified : /trunk/boost/graph/two_bit_color_map.hpp
Add missing #include <iostream>.
Modified : /trunk/libs/asio/example/buffers/reference_counted.cpp
Modified : /trunk/libs/asio/example/chat/posix_chat_client.cpp
Modified : /trunk/libs/asio/example/nonblocking/third_party_lib.cpp
Make validation a static member function. Fixes #2673
Modified : /trunk/boost/random/inversive_congruential.hpp
Modified : /trunk/boost/random/linear_feedback_shift.hpp
added missing std::
Modified : /trunk/boost/flyweight/intermodule_holder.hpp
Use a pipe if eventfd is not supported at runtime. Fixes #2683.
Modified : /trunk/boost/asio/detail/eventfd_select_interrupter.hpp
Ensure arguments to windows::overlapped_ptr::complete() are passed through to
the completion handler. Fixes #2614.
Modified : /trunk/boost/asio/detail/win_iocp_overlapped_ptr.hpp
fix wrong include
Modified : /trunk/boost/fusion/include/remove.hpp

74 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 05:47:16 ]
>>71
長い条件以外では大体そんな感じだと思ってる
ttp://www.boost.org/doc/libs/1_37_0/doc/html/xpressive/appendices.html

75 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 11:13:26 ]
>73
毎回そのまま張るとまた論議を呼びそうな気が。
張るんなら↓みたいにまとめた方が見やすいんじゃないだろうか。機械的処理も可能だし。
各ファイルの Added とかは要らないのでは、と思って抜いてみたんだけど Graph とかは厳しいな。

[Math]
  - Fix bug in bessel_jn for n == -1.
  - Add new test case.
[DateTime]
  - Added missing config.hpp include for the wide characters support configuration macro.
[Graph]
  - Changed to two_bit_color_map by default
  - Default color map to white, and fixed some warnings
[Asio]
  - Add missing #include <iostream>.
  - Use a pipe if eventfd is not supported at runtime. Fixes #2683.
  - Ensure arguments to windows::overlapped_ptr::complete() are passed through to the completion handler. Fixes #2614.
[Random]
  - Make validation a static member function. Fixes #2673
[Flyweight]
  - added missing std::
[Fusion]
  - fix wrong include

76 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 11:26:23 ]
現在何がアクティブなのかがわかって便利だね

77 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 15:03:26 ]
>>74
thx
たいていの場合で2倍以上速いんですね

78 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 00:18:47 ]
Boost.Regexオブジェクト構築に毎回コストがかさむのですが、
すべてクラスの変数にするとかしかないのかな。
いっぱい関数有るんでめんどくさいわ・・・


79 名前:78 mailto:sage [2009/02/08(日) 00:36:08 ]
変更が少なくていいので、
とりあえずstatic変数にすることにしました。

80 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 19:50:24 ]
1.38.0きてるお

81 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 22:14:02 ]
spiritのast_treeの質問なんですが、

//型名など一部省略してます
spirit::rule intp, expp;
intp = leaf_node_d[int_p];
expp = int_p >> *(root_node_d[ch_p(L'+')] >> int_p);

上記のようなルールで、スキップパーサにblank_pを指定して
 1 + 2
を構文解析させたとき、スキップ指定しているにもかかわらず、
2つ目の値のツリーの結果に、+から2までの間のスペースが' ''2'といった
感じに含まれてしまうのですが、leaf_node_dはそういう仕様なんでしょうか?
(1つ目の値はスペースは含まれていない)

リーフノードにスペースを含まないようにするには、スキップパーサを指定してても
intp = no_node_d[*blank_p] >> leaf_node_d[int_p];
の様に、ルール側でもスペースを飛ばすしか方法がないのでしょうか?



82 名前:81 mailto:sage [2009/02/09(月) 22:51:59 ]
訂正
expp = intp >> *(root_node_d[ch_p(L'+')] >> intp);

83 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 18:41:55 ]
更新しました。SVNは1.39に移行しました。
ttp://booster.x0.to/
以下更新内容の一部
[Units]
Zeroing in on bug with sun < 5.9
Begin tracing xlc failure
[Graph]
Integrating SOC 2007 code
Importing all_cliques, all_cycles algorithms
Importing geodesic distance module from SOC.
Imported clustering coefficient, eccentricity and core numbers algorithms.
[Regex]
Fixes #2713: change table initialisation so that it's initialised statically.
Workarounds to allow compilation by Sun studio without the -library=stlport4 option.
[Random]
correctly detect the end of the range in lagged_fibonacci_01::seed. Fixes #2703
Split random_test.cpp into multiple files to avoid hitting resource limits.
Correct stringizing
[Spirit]
Bug fix to iterator

亦、2月8日付で1.38の正式版もリリースされました。
ttp://www.boost.org/users/news/version_1_38_0

>>75
有難うございます、改善致しました。

84 名前:デフォルトの名無しさん [2009/02/13(金) 18:54:59 ]
ttp://booster.x0.to/
を利用してる奴どれくらいいるの?
手あげて



85 名前:デフォルトの名無しさん [2009/02/13(金) 19:11:38 ]
利用してます bccのバリなりもほしいです

86 名前:デフォルトの名無しさん [2009/02/13(金) 19:13:19 ]
自鯖なら、ダウンロード数、アクセス数は把握してるんでは?

87 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 19:35:58 ]
age厨は自演で何をしたいんだ?
前スレから延々つきまとってるだろお前。

88 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 23:41:16 ]
>81 の質問はスルーですか?
他所のastのサンプルでほぼ同じようなコード書かれてるけど、
スキップ文字が入るなんて説明ないし自分のミスっぽい気はするんですが。

89 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 10:26:38 ]
少なくても最近ここに訪れている人の中には回答できる人はいないと思う。

90 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 10:40:56 ]
つかえねー

91 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 11:23:14 ]
>>88
> >>81の質問はスルーですか?

お前が答えてやれよ。



92 名前:デフォルトの名無しさん [2009/02/14(土) 12:57:25 ]
>>81
blank_p ではなく space_p

tamachan.club.kyutech.ac.jp/~gridbug/spirit/spirit01.html

93 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 13:02:52 ]
>>92
やっぱ、違うっぽいorz

94 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 15:14:53 ]
>>81
intpいらない。int_pは元々単一ノードとして解析される。
expp = int_p >> *(root_node_d[ch_p(L'+')] >> int_p);
多分、leaf_node_dがint_pの前にスキップされた空白をノードに取り込んでるんだろう。

95 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 16:04:06 ]
>>94
int_pのみだと空白スキップされることはまでは試して
気がついてたのですが、int以外の自作トークンが使いたいときに
どうすれば良いのかで悩んでます。
やはりno_node_dで空白飛ばすのが正答なんでしょうかね。

96 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 17:43:19 ]
>>95
バグかも知れんね。
spirit/tree/common.hppの907行あたりを書き換えたら予想通りの結果になったよ。
if (hit) {
std::advance(from, std::distance(from, scanner.first) - hit.length());
return result_t(hit.length(),
factory_t::create_node(from, scanner.first, true));
}

97 名前:統合しました。。。: mailto:sage [2009/02/14(土) 18:08:11 ]
pc11.2ch.net/test/read.cgi/tech/1234420483/

真・スレッドリスターター。。。( ̄ー ̄)ニヤリッ

98 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 18:08:15 ]
>>96
なるほど、そうでしたか。
チュートリアルなどでもこの不具合の発生するコードがあるのに
今まで誰も問題にしなかったみたいだし、割と最近の修正で
混入したバグなんでしょうね。

わざわざ調べていただいて、ありがとうございました。

99 名前:89 mailto:sage [2009/02/14(土) 22:21:42 ]
>>96
正直侮りすぎた。スマンかった。

100 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 04:17:45 ]
謝らなくていい。ただ邪魔だから消えろ。

101 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 13:09:53 ]
それよりその不具合についてコミットしといたほうがいいんでは



102 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 14:41:28 ]
boostは読めるけど英語は読めません

103 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 18:17:28 ]
>>102
辞書引け

104 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 20:49:17 ]
タイトルをast_tree value bug ? とでもして、
症状の出る最小のコード書いて、tree.value の結果書いて // bug ?
とでも書いとけば多分汲み取ってくれるだろう。

該当フォーラムのアドが分からんので自分はコミットできませんけど。

105 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 21:11:19 ]
this sentence is written in japanese.
あとはローマ字で適当に書いておけ。

106 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 22:34:08 ]
スマートポインタを昨日から触り始めました。
これはokなのに、
boost::scoped_ptr<string> s( new string("foo") );

これはコンパイル出来ない仕組みなのはなぜ?
boost::scoped_ptr<string> s;
s = new string("foo");

たとえばコンストラクタの中でinit関数を呼んで
その中でポインタ初期化したい場合とかどうすればいいんだ

107 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 22:40:20 ]
s.reset(new string("foo"));

108 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 22:40:21 ]
>>106
s.reset(new string("foo"));

109 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 23:18:39 ]
>>106
ひとつのポインタを別々のshared_ptrに代入してはいけないのでポインタを=で代入できないようにしている。newしたらすぐにスマートポインタにセットさせるのが基本。
スマートポインタをスマートポインタに=を使って代入は可能のでこれを使って共有する。


110 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 00:07:42 ]
shared_ptrだと
boost::scoped_ptr<string> x;
boost::scoped_ptr<string> y( new string("foo") );
x = y;

scoped_ptrだと
x.reset(new string("foo"));

と理解しました。
init関数でresetって違和感ありますが、こういうものなのでしょうか。
scoped_ptrを初期化子リストでnewしない場合は
設計を見直した方がいいのかな

111 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 01:03:57 ]
見直した方がいいかもね。結果は変わらないかもしれんが。



112 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 01:12:04 ]
shared_ptrでもresetできるよ、一応念のため。

113 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 03:44:59 ]
>>110
コンストラクタから例外投げないとか言うアホなコーディング規約に縛られてるんでもなければ
初期化リストで new しとけ。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<71KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef