[過去ログ]
Boostを語れゴラァ part3 (1001レス)
Boostを語れゴラァ part3 http://echo.5ch.net/test/read.cgi/tech/1158991211/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
629: デフォルトの名無しさん [sage] 2007/01/16(火) 14:26:16 >>627 普通にcc foo.hするだけだろ。 http://echo.5ch.net/test/read.cgi/tech/1158991211/629
630: デフォルトの名無しさん [sage] 2007/01/16(火) 21:42:08 RDBMSはランダムアクセスは早いがシーケンシャルが遅い。 そのうえ更新頻度が高いとシステムダウンする勢いでCPU負荷を上げ、 リソースを占有してしまう。 http://echo.5ch.net/test/read.cgi/tech/1158991211/630
631: デフォルトの名無しさん [sage] 2007/01/16(火) 22:02:00 素直にXMLでいいや・・・ ところで、当たり前かも知れないけど serialization って deserialization の方がコスト高いよね。 パースにかかるコストが高いんだろうけど。 http://echo.5ch.net/test/read.cgi/tech/1158991211/631
632: デフォルトの名無しさん [sage] 2007/01/16(火) 22:40:36 軽く作ればパースはたいしたことはない。 普通の言語と違って構文がスゲー単純だから。 字句はDFAを使うとかすればいいかもしれない。 http://echo.5ch.net/test/read.cgi/tech/1158991211/632
633: デフォルトの名無しさん [sage] 2007/01/16(火) 22:41:53 追記。たとえ重いパーサであってもRDBMSのODBCなどの オーバーヘッドに比べれば屁の河童。 http://echo.5ch.net/test/read.cgi/tech/1158991211/633
634: デフォルトの名無しさん [sage] 2007/01/17(水) 12:25:46 現在のバージョンの boost::serialization って、 特に XML にシリアライズする場合には浮動小数点数の NaN が正しく扱われないんだな。 ちょっとカナシス。 http://echo.5ch.net/test/read.cgi/tech/1158991211/634
635: デフォルトの名無しさん [sage] 2007/01/18(木) 02:26:24 浮動小数点といえば、IEEE754はそろそろバージョンうpじゃなかったか http://echo.5ch.net/test/read.cgi/tech/1158991211/635
636: デフォルトの名無しさん [sage] 2007/01/18(木) 11:32:56 boost.decimal みたいなライブラリがほしいなぁ。 http://echo.5ch.net/test/read.cgi/tech/1158991211/636
637: デフォルトの名無しさん [sage] 2007/01/18(木) 11:43:43 .NETはDecimal定数が扱えるのがぶっちゃけめちゃくちゃ便利だな。 複素数やリストもそうだけど、定数やリテラルとして使えるかどうかって 結局使い勝手に格段の差が出来ちまうな。 http://echo.5ch.net/test/read.cgi/tech/1158991211/637
638: デフォルトの名無しさん [sage] 2007/01/18(木) 14:32:51 >>635 kwsk http://echo.5ch.net/test/read.cgi/tech/1158991211/638
639: デフォルトの名無しさん [sage] 2007/01/18(木) 15:25:16 >>638 ttp://ja.wikipedia.org/wiki/IEEE_754r http://echo.5ch.net/test/read.cgi/tech/1158991211/639
640: デフォルトの名無しさん [sage] 2007/01/18(木) 15:33:30 >>639 thx http://echo.5ch.net/test/read.cgi/tech/1158991211/640
641: デフォルトの名無しさん [sage] 2007/01/19(金) 00:56:43 tuple と lambda を使ってみてたんだけど、 bind(&get<0>, _1); って式が通らないんだが……。 返り型の指定してもダメだし、ドキュメントいくら読んでもさっぱりわからない。 誰か教えてくれないだろうか……(´・ω・`) http://echo.5ch.net/test/read.cgi/tech/1158991211/641
642: デフォルトの名無しさん [sage] 2007/01/19(金) 01:00:06 質問です。 クラスAとクラスBがあるとしてshared_ptrで相互参照するのはNGというのを最近知りました。 すると、相互参照したい場合は class A{ weak_ptr<B> b; } class B{ shared_ptr<A> a; } とすれば良いのでしょうか。ちなみにAは一つしか存在しないBの管理クラスで、Bは複数存在する管理されるクラスなのですが、 その場合はこのように管理される側が管理する側をshared_ptrで参照して、管理する側が管理される側をweak_ptrで保持するのが良いのでしょうか。 あとscoped_ptrというのもあるようで、それぞれどういう時に利用すれば良いのかまだいまいち掴めません。 http://echo.5ch.net/test/read.cgi/tech/1158991211/642
643: デフォルトの名無しさん [sage] 2007/01/19(金) 06:57:25 >>641 getは設計が古くなっている。 戻り値指定なしでもできるが長くなるのでこんな感じで template<typename Result, int i> struct get { /**/ typedef Result result_type; /**/ template<typename Tuple> /**/ Result operator()(Tuple& t) const /**/ { return boost::get<i>(t); } }; bind(get<double, 0>(), _1); http://echo.5ch.net/test/read.cgi/tech/1158991211/643
644: デフォルトの名無しさん [sage] 2007/01/19(金) 07:27:37 >>642 各オブジェクトの寿命を考えてみたらいいと思うよ。 あと、weak_ptrはオブジェクトを参照するときに 一時的なshared_ptrを作成するのでコストがかかるね。 scoped_ptr, scoped_arrayは、受け取ったポインタを 自分の寿命が切れるときにdeleteするだけのポインタクラス。 C++の仕様がわかっていれば使い道はいろいろ。 http://echo.5ch.net/test/read.cgi/tech/1158991211/644
645: デフォルトの名無しさん [sage] 2007/01/19(金) 14:15:52 で、いつ標準化されるんですかね。 http://echo.5ch.net/test/read.cgi/tech/1158991211/645
646: デフォルトの名無しさん [sage] 2007/01/20(土) 00:52:42 >>643 おお、ありがとう。 やっぱり戻り値の型が判別できないのが問題なのかな? 色々いじりつつ、もう一度 lambda の sig を読んでみたら、今度はちょっと分かった気が。 template <int i> struct get { /**/ template <class Tuple> /**/ typename boost::tuples::element<i, Tuple>::type operator()(Tuple& t) const { /******/ return boost::get<i>(t); /**/ } /**/ template <class Args> /**/ class sig { /******/ typedef typename boost::tuples::element<1, Args>::type Tuple; /******/ typedef typename boost::tuples::element<i, Tuple>::type Result; /**/ public: /******/ typedef typename boost::remove_cv<Result>::type type; /**/ }; }; bind(get<0>(), _1); ってことで、こう書いたらとりあえず行けたんだが、こんな感じでいいのかな? もっといいやり方があったりするんだろうか。 しかし、関数オブジェクトならこれでいい(?)けど、テンプレート関数には sig は使えないよね。 ということは、関数の場合はテンプレート引数を全部指定しないとダメってことかな。 いや、でも、boost::get<> のテンプレート引数全部指定してもダメだったし、キャストしてもムリだったような。 なんかまたよくわからなくなってきた…(´・ω・`) http://echo.5ch.net/test/read.cgi/tech/1158991211/646
647: デフォルトの名無しさん [sage] 2007/01/20(土) 11:19:05 引数指定が間違ってるんだろう。consとかいるぞ そもそもgetのシグニチャーは公開されてないと思われるので書いてはいけない。 要は君の::getが主役で、boost::getはシンタックスシュガーだ 関数オブジェクトがつねに偉いのだ http://echo.5ch.net/test/read.cgi/tech/1158991211/647
648: デフォルトの名無しさん [sage] 2007/01/21(日) 20:32:31 bindで結合されたオブジェクトをfor_eachで適用するとき,適用されたオブジェクトを取り出すには for_eachの結果を何に代入すればいいのでしょうか? struct fn1 { double sum; void operator()(double &t ) {sum += t;} } fn1.sum=0; 何に代入したらオブジェクトfn1を取り出せる? =for_each(ar.begin(),ar.end(), boost::bind( fn1, boost::bind(fn2,_1 )) ); 代入しないと fn1.sum==0 となる http://echo.5ch.net/test/read.cgi/tech/1158991211/648
649: デフォルトの名無しさん [sage] 2007/01/21(日) 20:41:39 >>648 bind() された関数オブジェクトの型は決められていないから、無理。 かわりに、結果の書き込み先を参照で持たせるのがいいんじゃない? 総和なら std::accumulate() 使えばいいんだけどね。 ソース貼るならコンパイルできるかどうか見直せよ。 http://echo.5ch.net/test/read.cgi/tech/1158991211/649
650: デフォルトの名無しさん [sage] 2007/01/21(日) 20:48:45 boost::bind(boost::ref(fn1), http://echo.5ch.net/test/read.cgi/tech/1158991211/650
651: デフォルトの名無しさん [sage] 2007/01/21(日) 20:52:54 >>650 できました 感謝 http://echo.5ch.net/test/read.cgi/tech/1158991211/651
652: デフォルトの名無しさん [sage] 2007/01/22(月) 01:40:45 lambda のtestコード algorithm_test.cpp がMSVC8でコンパイル通らない http://echo.5ch.net/test/read.cgi/tech/1158991211/652
653: デフォルトの名無しさん [sage] 2007/01/22(月) 03:06:39 >>649←恥ずかしい人ハケン http://echo.5ch.net/test/read.cgi/tech/1158991211/653
654: デフォルトの名無しさん [sage] 2007/01/22(月) 06:14:33 よかったね。毎日が発見の連続だね。 http://echo.5ch.net/test/read.cgi/tech/1158991211/654
655: 649 [sage] 2007/01/22(月) 07:01:48 ん?何か変なこと言ったか? http://echo.5ch.net/test/read.cgi/tech/1158991211/655
656: デフォルトの名無しさん [sage] 2007/01/22(月) 16:11:33 みなさん、boost::FileSystemって使ってます? 日本語対応してないとかmingwで一部テストがエラーとか、ちょっと使うのに二の足踏んでます。 でも移植性のある他の代替選択肢もなさそうだしなぁ・・・。 http://echo.5ch.net/test/read.cgi/tech/1158991211/656
657: デフォルトの名無しさん [sage] 2007/01/22(月) 16:39:05 >> でも移植性のある他の代替選択肢もなさそうだしなぁ・・・。 boost以外のポータブルなライブラリを使えばよいのでは。 ファイルシステム関連でMBCS/WCSに対応してないって、実用上論外だと思うが。 Shift_JIS環境では使い物にならないし、Win32のFindFirstFileA()って パス長に思いっきり制限あるし。 http://echo.5ch.net/test/read.cgi/tech/1158991211/657
658: デフォルトの名無しさん [sage] 2007/01/22(月) 17:16:19 CVSから1.34拾ってこい。 http://echo.5ch.net/test/read.cgi/tech/1158991211/658
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 343 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.020s