[過去ログ]
Boostを語れゴラァ part2 (1001レス)
Boostを語れゴラァ part2 http://mevius.5ch.net/test/read.cgi/tech/1139313234/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
1: デフォルトの名無しさん [] 2006/02/07(火) 20:53:54 語って.はぁと part boost::mpl::int_<2> 前スレ BOOSTを語れゴラァ http://pc8.2ch.net/test/read.cgi/tech/1091198276/ http://mevius.5ch.net/test/read.cgi/tech/1139313234/1
875: デフォルトの名無しさん [sage] 2006/09/05(火) 07:34:04 >>874 あー std::mem_fun はスマートポインタへのサポート無いから、駄目だね。 boost::mem_fn で置き換えるとそのままいけるよ。 ほかにも boost::bind でも boost::lamnda::bind でもいける。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/875
876: デフォルトの名無しさん [sage] 2006/09/05(火) 07:40:46 >>875 ほんとうだ。mem_fnにしたら行けました。ありがとうございます。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/876
877: デフォルトの名無しさん [] 2006/09/06(水) 08:48:30 boost::ptr_vector って、 シリアライザ用意されてないんだね。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/877
878: デフォルトの名無しさん [sage] 2006/09/06(水) 09:45:07 やられた。<boost/cstdint.hpp>には、(u)intptr_tがないなんて。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/878
879: 877 [] 2006/09/06(水) 13:07:59 1.34 では Pointer Container のシリアライザも用意されるみたいだね http://boost.cvs.sourceforge.net/boost/boost/boost/ptr_container/ptr_vector.hpp?view=log ところで 1.34 の目玉ってなに? http://mevius.5ch.net/test/read.cgi/tech/1139313234/879
880: デフォルトの名無しさん [sage] 2006/09/06(水) 13:15:20 >>879 http://boost-consulting.com/boost/ http://mevius.5ch.net/test/read.cgi/tech/1139313234/880
881: 877 [] 2006/09/06(水) 13:34:34 >>880 半月くらい前に教えて星方 http://mevius.5ch.net/test/read.cgi/tech/1139313234/881
882: デフォルトの名無しさん [sage] 2006/09/06(水) 18:32:44 ようやく 1.34 で Xpressive くるか! http://mevius.5ch.net/test/read.cgi/tech/1139313234/882
883: デフォルトの名無しさん [] 2006/09/06(水) 18:52:14 正規表現ライブラリが 何種類も用意されるんだな。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/883
884: デフォルトの名無しさん [sage] 2006/09/06(水) 19:57:06 filesystem::path が、filesystem::basic_path になるのは地味に嬉しい。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/884
885: デフォルトの名無しさん [] 2006/09/06(水) 22:13:33 >>884 どう違うの? http://mevius.5ch.net/test/read.cgi/tech/1139313234/885
886: デフォルトの名無しさん [sage] 2006/09/06(水) 22:15:01 もうC++とBoost無しでは生きていけなくなりそうだ http://mevius.5ch.net/test/read.cgi/tech/1139313234/886
887: デフォルトの名無しさん [sage] 2006/09/06(水) 22:46:42 >>886 じゃあ、Boostと結婚しろ http://mevius.5ch.net/test/read.cgi/tech/1139313234/887
888: デフォルトの名無しさん [sage] 2006/09/06(水) 22:53:21 C++とBoostと結婚したら重婚になってしまいます http://mevius.5ch.net/test/read.cgi/tech/1139313234/888
889: デフォルトの名無しさん [sage] 2006/09/06(水) 23:03:13 C++やBoostに戸籍なんてないから事実婚でOK http://mevius.5ch.net/test/read.cgi/tech/1139313234/889
890: デフォルトの名無しさん [sage] 2006/09/06(水) 23:08:57 >>884-885 Unicodeでパス名が扱えるようになるってことかな? http://mevius.5ch.net/test/read.cgi/tech/1139313234/890
891: デフォルトの名無しさん [] 2006/09/06(水) 23:20:14 >>890 そうか、今までunicodeは使えなかったのか。 個人的にはURLも統一的に扱えると便利なんだが。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/891
892: デフォルトの名無しさん [sage] 2006/09/06(水) 23:29:34 >>888 男の子を産めよ http://mevius.5ch.net/test/read.cgi/tech/1139313234/892
893: デフォルトの名無しさん [] 2006/09/07(木) 06:33:17 Program Options を使っておられる方に質問です。 たとえばコマンドラインでデバッグレベルを設定するのに、 optionsDescriptionOfCommandLine.add_options() ("debug-level", value<unsigned> (&generalOptions.debug_level)-> default_value(0), "debug level"); のようにすれば、 store(command_line_parser(argc, argv). options(optionsDescriptionOfCommandLine).run(), variablesMap); notify(variablesMap); としてコマンドラインの解析が終了するとともに generalOptions.debug_level に値が格納されます。 とすれば variablesMap からその後改めて generalOptions.debug_level = variablesMap["debug-level"].as<unsigned>() のように値を取り出すことができる意味はあるのでしょうか? variables_map に as メソッドが用意されている理由が分かりません。 また notify メソッドは何のために必要なのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1139313234/893
894: 893 [] 2006/09/07(木) 10:11:05 パラメータの正当性を自分でチェックするための コードがコールバック(?)されるようにするためのものみたいですね。 あと、さっき気づいたんですが、あらかじめ用意されている 基本型や std::string など以外の型でも、 1)デフォルトコンストラクタが用意されている 2)代入演算子が用意されている 3)std::istream& operator>> が用意されている 4)std::ostream& operator<< が用意されている この条件さえ満たせばオプションの型として使えるみたいですね。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/894
895: デフォルトの名無しさん [] 2006/09/07(木) 10:11:52 basic_path ってことは basic じゃないすごい なにかとてつもないクラスが用意されているんだな! http://mevius.5ch.net/test/read.cgi/tech/1139313234/895
896: デフォルトの名無しさん [sage] 2006/09/07(木) 16:28:03 namespace boost { namespace BOOST_FILESYSTEM_NAMESPACE { template<class String, class Traits> class basic_path; struct path_traits; typedef basic_path< std::string, path_traits > path; struct path_traits { typedef std::string internal_string_type; typedef std::string external_string_type; static external_string_type to_external( const path &, const internal_string_type & src ) { return src; } static internal_string_type to_internal( const external_string_type & src ) { return src; } }; # ifndef BOOST_FILESYSTEM_NARROW_ONLY struct wpath_traits; typedef basic_path< std::wstring, wpath_traits > wpath; うれしいね〜 http://mevius.5ch.net/test/read.cgi/tech/1139313234/896
897: デフォルトの名無しさん [] 2006/09/10(日) 08:02:40 std::auto_ptr って boost::scoped_ptr に代入できるんだな。 std::auto_ptr でさんざんこねくり回してから 最終的な保持場所に boost::scoped_ptr に代入すればいいのか。 こねくり回すときには今まで boost::shaed_ptr を使ってた。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/897
898: デフォルトの名無しさん [sage] 2006/09/10(日) 14:13:22 >>897 書き手の日常が臭ってくる卑猥な文章だったんで少し脚色してみた。 チンポ って マンコ に挿入できるんだな。 指 でさんざんこねくり回してから 最終的な保持場所に チンポ を挿入すればいいのか。 こねくり回すときには今まで バイブレータ を使ってた。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/898
899: デフォルトの名無しさん [sage] 2006/09/10(日) 14:14:42 >>898 卑猥なのはおまえだ http://mevius.5ch.net/test/read.cgi/tech/1139313234/899
900: デフォルトの名無しさん [sage] 2006/09/10(日) 14:25:40 >>899 卑猥じゃなくて、比喩。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/900
901: デフォルトの名無しさん [sage] 2006/09/10(日) 14:27:17 >>900 卑猥な比喩だろ http://mevius.5ch.net/test/read.cgi/tech/1139313234/901
902: デフォルトの名無しさん [sage ] 2006/09/10(日) 14:29:10 妄想癖があることだけは解った http://mevius.5ch.net/test/read.cgi/tech/1139313234/902
903: デフォルトの名無しさん [sage] 2006/09/10(日) 14:41:15 楽しそうだな、おまえら。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/903
904: デフォルトの名無しさん [sage] 2006/09/10(日) 16:16:55 >897 は、自分が発してる卑猥さに気付いて無いんだね http://mevius.5ch.net/test/read.cgi/tech/1139313234/904
905: デフォルトの名無しさん [sage] 2006/09/10(日) 19:38:22 >>897 知識披露厨ってやつか。 C++ 相談室にも居なかったか? 独り言はチラシの裏にでも書いとけ。 と思ったけど、このスレをさっさと落とすのには役立つから、ここでなら別にいいや。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/905
906: デフォルトの名無しさん [sage] 2006/09/10(日) 20:59:16 >>897 まぁおまえのような奴はどこのスレッドに行っても うざがれるだけだろうけどな。 俺はBoost厨の集まるゴミスレがさっさと落ちてくれればそれでいい。 死ねよ。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/906
907: デフォルトの名無しさん [sage] 2006/09/10(日) 23:31:51 変なのが粘着しちゃったな http://mevius.5ch.net/test/read.cgi/tech/1139313234/907
908: デフォルトの名無しさん [sage] 2006/09/11(月) 00:24:27 >>898が知識披露厨ってことは分かった。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/908
909: デフォルトの名無しさん [sage] 2006/09/11(月) 00:34:31 >>897 知識披露厨、発見! だから何? http://mevius.5ch.net/test/read.cgi/tech/1139313234/909
910: デフォルトの名無しさん [sage] 2006/09/11(月) 00:35:34 >>908 他人に八つ当たりは見苦しいよ http://mevius.5ch.net/test/read.cgi/tech/1139313234/910
911: デフォルトの名無しさん [sage] 2006/09/11(月) 06:28:54 まぁ、発見がたくさんある人生は楽しそうで羨ましいかなw<ってことは分かった http://mevius.5ch.net/test/read.cgi/tech/1139313234/911
912: デフォルトの名無しさん [sage] 2006/09/11(月) 11:31:15 もうこのスレは終わりでいいだろ C++のスレをいくつもたてんなよ。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/912
913: デフォルトの名無しさん [sage] 2006/09/11(月) 11:32:59 ここはboost馬鹿の隔離スレなので必要。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/913
914: デフォルトの名無しさん [sage] 2006/09/11(月) 12:58:31 まだ終わらんよ http://mevius.5ch.net/test/read.cgi/tech/1139313234/914
915: デフォルトの名無しさん [sage] 2006/09/12(火) 00:42:34 Boostは、C++皇位継承権第一位の皇太子だかんな http://mevius.5ch.net/test/read.cgi/tech/1139313234/915
916: デフォルトの名無しさん [sage] 2006/09/12(火) 15:27:40 Boost.Serialization 先にarchive関係のヘッダインクルードしてなかったせいで 奇妙なエラーが出て悩んだ...orz http://mevius.5ch.net/test/read.cgi/tech/1139313234/916
917: デフォルトの名無しさん [sage] 2006/09/12(火) 16:28:01 >>916 うむ、そうだよな。俺も悩んだ。 boost/archive/xml_iarchive.hpp とかを 先にインクルードしておかなきゃ駄目なんだよな。 ホントは順序依存性があるのは良くないことなんだがな。 あるならあるで #error とか使って止めてくれって思うよ。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/917
918: デフォルトの名無しさん [sage] 2006/09/12(火) 16:47:05 何をシリアライズしたいか、プログラマ以外には分からない。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/918
919: デフォルトの名無しさん [sage] 2006/09/12(火) 17:38:41 >>918 どんな順でヘッダふぃあるをインクルードしようが テンプレートが特殊化される時点では boost::serialization::* も boost::archive::* も読み込まれているので、問題ないはず、 まぁそれは理想で現実はインクルード順が違うとエラーになるんだが。 何が困るかって言うと、もし自分が使用したいライブラリの中で さらにインクルードが行われていると、制御するすべがない 場合もある、ということだな。 とはいえ、今のところサードパーティのライブラリが boost 依存なんて聞いたことがないので、自分でインクルード順に 気をつけていればいいだけなんだが。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/919
920: デフォルトの名無しさん [sage] 2006/09/13(水) 15:44:08 boost::serialization::make_nvp は ワイド文字や実体参照には対応してないのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1139313234/920
921: デフォルトの名無しさん [sage] 2006/09/13(水) 15:54:25 >>920 それは、XML のタグ名としてワイド文字を使いたいと言うことですか? http://mevius.5ch.net/test/read.cgi/tech/1139313234/921
922: 920 [sage] 2006/09/13(水) 16:28:13 >>921 ワイドで統一してる場合、そこだけchar*になるのも嫌だなと思ったので。 NVPはタグになるから実体参照関係ないですね... だから、型名を直接埋め込むわけにはいかないのか。 .NETでも hoge<int,int> -> hogeOfInt32Int32 とかに変換されてるぽいし。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/922
923: デフォルトの名無しさん [sage] 2006/09/13(水) 17:11:33 >>922 make_nvp のソースを見てみれば分かると思うけど、 タグ名への変換は単純にプリプロセッサの文字列化演算子を 使っているだけなので、ワイド文字は想定されていないみたい。 ところで、俺は普通直接 make_nvp を呼び出さずに BOOST_SERIALIZATION_NVP(aiueo) みたいに呼び出して タグ名は aiueo で値は変数 aiueo なので、 変数名 = 要素名 なんだけど、わざわざ要素名にワイド 文字を使いたいってことあるのかな? http://mevius.5ch.net/test/read.cgi/tech/1139313234/923
924: デフォルトの名無しさん [sage] 2006/09/13(水) 22:43:06 >>923 よくレス読めよ http://mevius.5ch.net/test/read.cgi/tech/1139313234/924
925: デフォルトの名無しさん [sage] 2006/09/16(土) 01:18:37 Boost初心者です。 いちいちVisual Studioのディレクトリにインストールするとめんどくさいので、 プロジェクトの中にProjectA/inc/boost/とか作って、その中に使いたいヘッダを どかっと入れようと思うのですが。 boost/config.hとか boost/config/以下のヘッダ群が気になります。あれも入れた方が良いんでしょうか。 あれらって、インストール時に自動的に生成されたヘッダだったりするんでしょうか。 それともどの環境向けのboostでも同じコードなんですか? プロジェクトをいずれ色んなコンパイラでビルドできるようにしたいので、boostで必要な ヘッダを入れて、どの環境のコンパイラでもそのままビルドできるようにできるといいのですが。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/925
926: デフォルトの名無しさん [sage] 2006/09/16(土) 01:41:57 >boost/config.hとか >boost/config/以下のヘッダ群が気になります。あれも入れた方が良いんでしょうか。 たいていの場合他のヘッダが依存しているので入れないと機能しないはずです. >あれらって、インストール時に自動的に生成されたヘッダだったりするんでしょうか。 多分no.$(BOOST_ROOT)/boost以下は全てパッケージの段階で存在するファイルのはずです. >それともどの環境向けのboostでも同じコードなんですか? ヘッダに関してのみなら多分yes. 単に#ifdefで切り分けていたりとかそういうコードで占められているはずです. >プロジェクトの中にProjectA/inc/boost/とか作って、その中に使いたいヘッダを >どかっと入れようと思うのですが。 bcpを使って依存しているファイルのみを自動でパッケージから抜き出せるのでご参考までに. http://www.boost.org/tools/bcp/bcp.html http://mevius.5ch.net/test/read.cgi/tech/1139313234/926
927: デフォルトの名無しさん [sage] 2006/09/16(土) 04:54:08 >いちいちVisual Studioのディレクトリにインストールするとめんどくさいので Boost インストールする場所なんてどこでもいいと思うんだが。 ちなみに俺は各マシンでビルドするのが面倒くさいので、 ビルドしたバイナリをインストーラ付きのパッケージにしている。 で、パッケージのインストール先は C:\Program Files\boost だ。 いや、まぁそんな空白入りのディレクトリに入れるなとか言う批判も わかるが、VC++ ならそんなディレクトリでもインクルードパスに 追加できるし、無問題。 ホントは Windows も UNIX 系のディレクトリコンベンションに 従っててくれればよかったんだけどね。 C:\usr\local\include とかさ http://mevius.5ch.net/test/read.cgi/tech/1139313234/927
928: デフォルトの名無しさん [sage] 2006/09/16(土) 09:31:03 聞いてもいないことをペラペラペラペラと・・・ パスに空白があることより、お前の頭に空白があることが問題だ http://mevius.5ch.net/test/read.cgi/tech/1139313234/928
929: デフォルトの名無しさん [sage] 2006/09/16(土) 09:39:30 >>928 いちいちそんなことで絡むなよ カルシウム取れ(´ー`)ノ⌒θ http://mevius.5ch.net/test/read.cgi/tech/1139313234/929
930: デフォルトの名無しさん [sage] 2006/09/16(土) 13:19:24 >>926 おお、ありがとうございます。 bcpなんてのがあったんですね。 >>927 そういうやり方もありますか。環境をWinだけに限ればそのやり方もありかもしれませんね。 しかし、config.hとか見てみると#defineで処理分けていますが、あそこらへん、ユーザーがマクロ名の定義とかする必要があるシチュってあるんでしょうか。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/930
931: デフォルトの名無しさん [sage] 2006/09/16(土) 13:21:31 >>928 それ、誰かに聞かれたの? 聞かれていないならペラペラと無駄なこと書かないように :-) http://mevius.5ch.net/test/read.cgi/tech/1139313234/931
932: デフォルトの名無しさん [sage] 2006/09/16(土) 13:51:40 >>931 それ、誰かに聞かれたの? 聞かれていないならペラペラと無駄なこと書かないように :-) http://mevius.5ch.net/test/read.cgi/tech/1139313234/932
933: デフォルトの名無しさん [sage] 2006/09/16(土) 13:54:14 恐怖の無限ループキターーーー! http://mevius.5ch.net/test/read.cgi/tech/1139313234/933
934: デフォルトの名無しさん [sage] 2006/09/16(土) 13:57:11 >>933 循環参照ともいう。 いわねぇか。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/934
935: デフォルトの名無しさん [sage] 2006/09/16(土) 14:04:28 >>933 まぁ実際にはループになってないけどねw 聞かれていないなら言うな、と主張してるのは片方だけだからw http://mevius.5ch.net/test/read.cgi/tech/1139313234/935
936: デフォルトの名無しさん [sage] 2006/09/16(土) 14:31:18 >聞かれていないなら言うな、と主張してる 誰がどのレスで? http://mevius.5ch.net/test/read.cgi/tech/1139313234/936
937: デフォルトの名無しさん [sage] 2006/09/16(土) 16:09:35 ねばるねばるw http://mevius.5ch.net/test/read.cgi/tech/1139313234/937
938: デフォルトの名無しさん [sage ] 2006/09/16(土) 16:55:52 外したこと書いたって思った時点で粘着やめて頭冷やしてくれ。 できればURLも暫く忘れて来ない方がいい。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/938
939: デフォルトの名無しさん [sage] 2006/09/16(土) 17:11:10 じゃあお前は来ない方がいいね http://mevius.5ch.net/test/read.cgi/tech/1139313234/939
940: デフォルトの名無しさん [sage] 2006/09/16(土) 17:47:14 まぁみんなでカルシウム摂るということで http://mevius.5ch.net/test/read.cgi/tech/1139313234/940
941: デフォルトの名無しさん [sage] 2006/09/16(土) 18:43:58 最近「カルシウム」という単語をよく見る気がする。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/941
942: デフォルトの名無しさん [sage] 2006/09/16(土) 18:53:43 カルシウムにはVDも必要だぞ! http://mevius.5ch.net/test/read.cgi/tech/1139313234/942
943: デフォルトの名無しさん [sage] 2006/09/16(土) 19:42:28 bcpってソースコードでしか配布されてみたいですね。 boost/tools/ 以下のツールプログラムの一括コンパイルのやり方がよく分かりません。 bjamを使うらしいことは分かるのですが・・・。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/943
944: デフォルトの名無しさん [sage] 2006/09/16(土) 22:04:47 >>943 一括コンパイルはわからんけど、bcpだけならtools/bcp/でbjam実行すれば bin/boost/tools/bcp/あたりに実行ファイルできるんじゃない? http://mevius.5ch.net/test/read.cgi/tech/1139313234/944
945: デフォルトの名無しさん [sage] 2006/09/17(日) 05:00:24 >>944 アドバイスありがとうございます。でもbjamってmakeと違って良く分からなくて、 どんな引数を与えればよいのか・・・。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/945
946: デフォルトの名無しさん [sage] 2006/09/17(日) 07:39:43 本家のgetting startedか↓見ればいいんでない ttp://www.kmonos.net/alang/boost/build.html http://mevius.5ch.net/test/read.cgi/tech/1139313234/946
947: デフォルトの名無しさん [sage] 2006/09/17(日) 09:39:20 >>945 bcpならとりあえず-sTOOLS=(ビルドツール名)だけつけとけばいけるよ http://mevius.5ch.net/test/read.cgi/tech/1139313234/947
948: デフォルトの名無しさん [sage] 2006/09/17(日) 11:49:35 >>946 >>947 ありがとうございます。できました! 最初Cygwinでやってたら失敗して、コマンドプロンプトで成功しました。 しかし、bcp shared_ptr fooとかやってもかなりの量コピーされるなぁ・・・。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/948
949: デフォルトの名無しさん [sage] 2006/09/19(火) 16:59:36 shared_ptrのなかにthisを入れてreturnしたりするのってよくない? http://mevius.5ch.net/test/read.cgi/tech/1139313234/949
950: 949 [sage] 2006/09/19(火) 17:30:07 このようなコードなのですが、shared_ptrを使うと、main()のスコープから外れる前に deleteされてしまって、セグメンテーションフォールトが起きます。 どこがおかしいのでしょうか。 #include <iostream> #include <boost/shared_ptr.hpp> struct A; typedef boost::shared_ptr<A> APTR; //typedef A* APTR; void print(APTR); struct A{ virtual const char *name(){return "A";} virtual APTR getPointer(){return APTR(this);} virtual void p(){print(APTR(this));} virtual ~A(){std::cout << "~A" << std::endl;} }; struct B : public A{ virtual const char *name(){return "B";} virtual ~B(){std::cout << "~B" << std::endl;} }; void print(APTR a){ std::cout << "print: " << a->name() << std::endl; } int main(){ APTR b(new B); print(b->getPointer()); b->p(); } http://mevius.5ch.net/test/read.cgi/tech/1139313234/950
951: デフォルトの名無しさん [sage] 2006/09/19(火) 17:32:53 getPointer()が返る時にはdeleteされてるんで当然だろ http://mevius.5ch.net/test/read.cgi/tech/1139313234/951
952: デフォルトの名無しさん [sage] 2006/09/19(火) 17:46:30 BとDを使え http://mevius.5ch.net/test/read.cgi/tech/1139313234/952
953: デフォルトの名無しさん [sage] 2006/09/19(火) 17:53:22 端的に言うとshared_ptrの使い方根本的に間違ってる。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/953
954: デフォルトの名無しさん [sage] 2006/09/19(火) 18:18:35 enable_shared_from_thisかな? http://mevius.5ch.net/test/read.cgi/tech/1139313234/954
955: デフォルトの名無しさん [sage] 2006/09/19(火) 18:45:34 >954 950じゃ無いがそんなのあったんだな 俺はweak_ptr持たせてその都度lock()してたよ http://mevius.5ch.net/test/read.cgi/tech/1139313234/955
956: デフォルトの名無しさん [sage] 2006/09/19(火) 21:06:39 Boost C++ Library プログラミング 購入。 これで俺もBoost馬鹿に。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/956
957: デフォルトの名無しさん [sage] 2006/09/19(火) 21:11:11 ドキュメント読もうとしない時点でただの馬鹿 http://mevius.5ch.net/test/read.cgi/tech/1139313234/957
958: デフォルトの名無しさん [sage] 2006/09/20(水) 01:27:01 文字化けしてますよ。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/958
959: デフォルトの名無しさん [sage] 2006/09/20(水) 02:34:34 文字化けしてませんよ。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/959
960: 949 [sage] 2006/09/20(水) 06:59:06 使い方が間違っているから、先にdeleteされてしまうんだとは思いますが、 shared_ptrの用途は合っていますか? 生ポインタと同じように使って、いろいろなスコープにコピーされるけど、 最後のポインタがなくなるときに、生ポインタも解放される、 という使い方をしたいのですが。 virtualなメンバ関数は継承元ポインタで呼び出したときでも、継承先のメンバ関数が 呼ばれる、という普通のポインタのような継承もしたいのですが。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/960
961: デフォルトの名無しさん [sage] 2006/09/20(水) 12:07:38 >>960 用途はそれで合ってると言える。 "shared" だからね。 継承したときの動作も普通のポインタと同じ。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/961
962: デフォルトの名無しさん [sage] 2006/09/20(水) 12:21:14 >>960 そういう用途なら、IUnknown みたいな参照カウント管理を行うための クラスを用意しておいて、intrusive_ptr でラップしたほうがいいような気がする。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/962
963: デフォルトの名無しさん [sage] 2006/09/20(水) 12:32:38 >>962 それは効率が問題になってからでいいんじゃないの? http://mevius.5ch.net/test/read.cgi/tech/1139313234/963
964: デフォルトの名無しさん [sage] 2006/09/20(水) 13:02:27 いや、クラス側が自分へのポインタをスマートポインタで返したいって話なら、 侵入型スマートポインタが一番自然な解だと思うが。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/964
965: デフォルトの名無しさん [sage] 2006/09/21(木) 08:09:40 >>964 boost::shared_ptr とかの 普通のスマートポインタじゃなくて? http://mevius.5ch.net/test/read.cgi/tech/1139313234/965
966: デフォルトの名無しさん [sage] 2006/09/21(木) 08:41:21 侵入型も普通のスマートポインタだと思うがw http://mevius.5ch.net/test/read.cgi/tech/1139313234/966
967: デフォルトの名無しさん [sage] 2006/09/21(木) 15:16:15 boost::filesystem:wpath が使えるようになるのは、 次のバージョンからでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1139313234/967
968: デフォルトの名無しさん [sage] 2006/09/21(木) 15:52:48 >>967 yes。 ただし、CVSから、最新版落としてくれば今からでも使える http://mevius.5ch.net/test/read.cgi/tech/1139313234/968
969: デフォルトの名無しさん [sage] 2006/09/21(木) 19:23:17 デフォルト引数を使った関数でboost.bindするときは注意が必要なんだな。 あのエラーメッセージじゃデフォルト引数の問題と気づくのは至難の業だ。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/969
970: デフォルトの名無しさん [sage] 2006/09/21(木) 20:12:41 >>967 boost::filesystem::path の wchar_t バージョン? http://mevius.5ch.net/test/read.cgi/tech/1139313234/970
971: デフォルトの名無しさん [sage] 2006/09/21(木) 20:33:11 >>970 そのとおり。basic_stringみたいにbasic_pathというクラステンプレートが作られた。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/971
972: デフォルトの名無しさん [sage] 2006/09/21(木) 20:55:56 Windows な人が今のバージョンの boost::filesystem:: で ディレクトリ一覧を取得したりして、日本語ファイル名が 含まれていると、今は std::string なのに UTF-8 が 入って返ってきたりするのか。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/972
973: デフォルトの名無しさん [sage] 2006/09/21(木) 21:52:35 UTFじゃなくてOS依存でUCS2かUCS4になるはず。 たぶんWin32だとUCS2で入ってくる。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/973
974: デフォルトの名無しさん [sage] 2006/09/21(木) 21:54:48 吐き気がした http://mevius.5ch.net/test/read.cgi/tech/1139313234/974
975: デフォルトの名無しさん [sage] 2006/09/22(金) 12:29:24 >>973 Win32 API が MBCS なり UTF-16 なりで返してくるファイル名を(どうやってか)UCS2に 変換して、それを std::string に入れるの?! そりゃ酷い実装だな・・・ http://mevius.5ch.net/test/read.cgi/tech/1139313234/975
976: デフォルトの名無しさん [sage] 2006/09/22(金) 12:47:56 普通UCS-2やUCS-4はwstringのはずだよな。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/976
977: デフォルトの名無しさん [sage] 2006/09/22(金) 12:51:50 今のboost::filesystemは、APIが返すバイト列をそのまま使ってるだけじゃないのか? FindNextFileAとか直に書かれてるし。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/977
978: デフォルトの名無しさん [sage] 2006/09/22(金) 15:39:20 >>973 いや、wstringはUTFを扱えないからUCSで処理するだろう。 <演算子とか使えなくなって大改造が必要になる。 だから変換時にUCSの範囲を超えたら例外を投げるか あるいはそこでの動作保証をしないかのどちらかだろ。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/978
979: デフォルトの名無しさん [sage] 2006/09/22(金) 16:21:46 wchar が UCS2 か UCS4 かってどこかで決められてるの? Windowsでのワイド文字はどっち? http://mevius.5ch.net/test/read.cgi/tech/1139313234/979
980: デフォルトの名無しさん [sage] 2006/09/22(金) 16:38:48 wchar_tが具体的に何bitかはコンパイラの勝手。VC++@Win32だと16bitでgcc@Linuxだと普通32bitだったと思うが。 wchar_tにどのエンコードで入ってるかはライブラリやユーザーの勝手。 OSレベルの話ならWindwos2000あたりまではUCS-2、XP以降でUTF-16になったと思うが、 Windowsのどのバージョンが具体的にUnicodeのどのバージョンをサポートしてるかはしらん。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/980
981: デフォルトの名無しさん [sage] 2006/09/22(金) 17:05:34 >>980 そうか、Windows のAPIでUnicode版ってのが UCS2 じゃなくて UTFー16 になったのは 最近のことだったのか。UCS2 の範囲を超えたら例外って意味が分からなかったんだよ。 そうすると boost::filesystem はかなり無茶しているなぁ。 Windows API とのやりとりなんてバイト列そのまま受け渡しだから。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/981
982: デフォルトの名無しさん [sage] 2006/09/22(金) 18:24:59 OSの話だけじゃなくてsortとかiteratorの問題もあるから どうしても文字セットを広げたければUCS4でやるべきなんだな。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/982
983: デフォルトの名無しさん [sage] 2006/09/22(金) 18:34:09 結局、Visual C++ のコンパイラと付属ライブラリが wchar_t を16ビットで扱うのが悪いということか。 ところで wchar_t って組み込み型?それとも typedef 型? http://mevius.5ch.net/test/read.cgi/tech/1139313234/983
984: デフォルトの名無しさん [sage] 2006/09/22(金) 18:34:20 つーか文字列のiteratorはrandom accessにすべきじゃなかったんだ。 今更言ってもどうしようもないが。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/984
985: デフォルトの名無しさん [sage] 2006/09/22(金) 18:38:38 >>983 C++の規格では組み込み型。VC++はコンパイルオプションでどちらにもできたと思う。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/985
986: デフォルトの名無しさん [sage] 2006/09/23(土) 00:56:38 >>984 random accessできない文字列のiteratorって何に使うの? http://mevius.5ch.net/test/read.cgi/tech/1139313234/986
987: デフォルトの名無しさん [sage] 2006/09/23(土) 01:01:41 マルチバイト文字列をこの世から消し去りたい http://mevius.5ch.net/test/read.cgi/tech/1139313234/987
988: デフォルトの名無しさん [sage] 2006/09/23(土) 01:21:36 I want to obliterate all the characters not used in the English-speaking world. http://mevius.5ch.net/test/read.cgi/tech/1139313234/988
989: デフォルトの名無しさん [sage] 2006/09/23(土) 02:09:43 >>986 984ではないが、 たとえば検索したり連結したりストリームと読み書きしたりなどといったことはBidirectionalであれば十分。 ランダムアクセスしたければvectorで扱えばよいと俺は思う。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/989
990: デフォルトの名無しさん [sage] 2006/09/23(土) 02:36:19 >>989 vector に入れてランダムアクセスできる型が basic_string に入れたら ランダムアクセスできなくできなくなるのっておかしくね? http://mevius.5ch.net/test/read.cgi/tech/1139313234/990
991: デフォルトの名無しさん [sage] 2006/09/23(土) 02:57:38 >>990 basic_stringクラスそのもののことを言っているんじゃないかと。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/991
992: デフォルトの名無しさん [sage] 2006/09/23(土) 05:01:00 そのうち効率重視の sequential_string とかが出てくる夢を見た。 驚いて飛び起きたら、まだ5時だった。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/992
993: デフォルトの名無しさん [sage] 2006/09/23(土) 09:59:49 作るのは自由なんだぜ。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/993
994: デフォルトの名無しさん [sage] 2006/09/23(土) 11:58:31 Unresolved Issues: CVS-RC_1_34_0 http://engineering.meta-comm.com/boost-regression/CVS-RC_1_34_0/developer/issues_release_.html まだまだみたいだな・・・ http://mevius.5ch.net/test/read.cgi/tech/1139313234/994
995: デフォルトの名無しさん [sage] 2006/09/23(土) 13:41:12 次スレどうする? 今の内容で次スレ立てていいか? http://mevius.5ch.net/test/read.cgi/tech/1139313234/995
996: デフォルトの名無しさん [sage] 2006/09/23(土) 14:00:53 ダメ http://mevius.5ch.net/test/read.cgi/tech/1139313234/996
997: デフォルトの名無しさん [sage] 2006/09/23(土) 14:01:04 このスレ的にはボーランド相手にされてないかもしれないけど、 The unofficial BCB Boost patches http://bcbboost.sourceforge.net/ 1.34 では取り込まれる予定 くらいはテンプレのどっかに書いておいてあげたら? http://mevius.5ch.net/test/read.cgi/tech/1139313234/997
998: デフォルトの名無しさん [sage] 2006/09/23(土) 14:05:40 >>8 >>777-778 も仲間に入れてあげてよ。 あと、 >>879 もリンクに入れてあげて。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/998
999: デフォルトの名無しさん [sage] 2006/09/23(土) 15:05:07 Boostを語れゴラァ part3 http://pc8.2ch.net/test/read.cgi/tech/1158991211/l50 これでいいか? http://mevius.5ch.net/test/read.cgi/tech/1139313234/999
1000: デフォルトの名無しさん [sage] 2006/09/23(土) 15:11:18 >>999 乙 でもリンクに入れるのは >>879 じゃなくて >>880 だったと思われ。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/1000
1001: 1001 [] Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。 http://mevius.5ch.net/test/read.cgi/tech/1139313234/1001
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.026s