[過去ログ]
Boostを語れゴラァ part3 (1001レス)
Boostを語れゴラァ part3 http://echo.5ch.net/test/read.cgi/tech/1158991211/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
171: 167 [sage] 2006/10/21(土) 22:05:15 >>169 第一引数の部分適用が簡単なのは承知しているのですが…変換希望です。 http://echo.5ch.net/test/read.cgi/tech/1158991211/171
172: 167 [sage] 2006/10/21(土) 22:23:29 >170 ありがとうございます。やってみます。 http://echo.5ch.net/test/read.cgi/tech/1158991211/172
173: デフォルトの名無しさん [sage] 2006/10/21(土) 23:04:05 boost::bindでもいけるね http://echo.5ch.net/test/read.cgi/tech/1158991211/173
174: デフォルトの名無しさん [sage] 2006/10/21(土) 23:10:30 >>173 いってみてよ http://echo.5ch.net/test/read.cgi/tech/1158991211/174
175: デフォルトの名無しさん [] 2006/10/22(日) 01:05:59 template <typename A, typename B, typename C> int foo(A a, B b, C c) { return 0; } template <typename A, typename B> int foo(A a, B b) { return 0; } に対して、後者の関数をbindするつもりで boost::bind(foo<int,int>, _1, 100); すると、no matching function for call to ‘bind(<unresolved overloaded function type>, boost::arg<1>&, int)’ とか言われてしまうんだが、これって回避策ありますか? gcc4.1です http://echo.5ch.net/test/r
ead.cgi/tech/1158991211/175
176: デフォルトの名無しさん [sage] 2006/10/22(日) 01:12:24 >>175 boost::bind(static_cast<int (*)(int, int)>(foo), _1, 100) http://echo.5ch.net/test/read.cgi/tech/1158991211/176
177: デフォルトの名無しさん [sage] 2006/10/22(日) 12:38:25 >>175 class Void{}Void_v; template<class T1, class T2, class T3=Void>struct select_f; の特殊化を作ってfooの引数にVoid型があるなしで選択するとかは。 http://echo.5ch.net/test/read.cgi/tech/1158991211/177
178: デフォルトの名無しさん [sage] 2006/10/22(日) 12:42:09 >>177 は? http://echo.5ch.net/test/read.cgi/tech/1158991211/178
179: デフォルトの名無しさん [sage] 2006/10/22(日) 12:43:22 >>177 175は関数テンプレートな訳だが.. http://echo.5ch.net/test/read.cgi/tech/1158991211/179
180: 177 [sage] 2006/10/22(日) 13:30:36 >>179 えーと、あいまいな関数オーバーロードの解決にはキャストあたりが手っ取り早いと思うけど そこで、 template <typename A, typename B, typename C> int foo(A a, B b, C c) { return select_f<A, B, C>()(a, b, c); }// put away foo else ・・・ boost::bind(foo<int,int, Void>, _1, 100, Void_v); こんな感じでキャストを使わない方法の案を提供したかったわけですよ。 http://echo.5ch.net/test/read.cgi/tech/1158991211/180
181: デフォルトの名無しさん [sage] 2006/10/22(日) 13:39:27 キャストを使わないでそれを使うことに何の意味があるの? あと、>177のように何の前置きにもなしに言って、理解してくれるエスパーだと思ったの? http://echo.5ch.net/test/read.cgi/tech/1158991211/181
182: 177 [sage] 2006/10/22(日) 13:55:49 >>181 キャストを使わない。 キャストを使ったときに起きるテンプレート関数の特殊化に対しての曖昧性をなくせる(たぶん)。 > あと、>177のように何の前置きにもなしに言って、理解してくれるエスパーだと思ったの? タイピングの勢いだ。 http://echo.5ch.net/test/read.cgi/tech/1158991211/182
183: デフォルトの名無しさん [sage] 2006/10/22(日) 14:28:28 > キャストを使ったときに起きるテンプレート関数の特殊化に対しての曖昧性 具体例が欲しいな http://echo.5ch.net/test/read.cgi/tech/1158991211/183
184: デフォルトの名無しさん [sage] 2006/10/22(日) 15:58:19 boost::lambdaのunlambdaとprotectがよくわからないんだぜ http://echo.5ch.net/test/read.cgi/tech/1158991211/184
185: デフォルトの名無しさん [sage] 2006/10/22(日) 16:38:15 >>183 たとえば、>175を template <typename A, typename B> int foo(A a, B b); (b) template<class A, class B>int foo(A*,B*); (c) こんな(c)を追加して、(c)or(b)のどちらかをbindで使いたい場合 このオーバーロードの解決には結局、関数オブジェクトが手っ取り早いと思います。 http://echo.5ch.net/test/read.cgi/tech/1158991211/185
186: デフォルトの名無しさん [sage] 2006/10/22(日) 17:13:50 >>185 それ、曖昧か? 後者は foo() についてポインタ型を扱う場合の特殊化を宣言しているので、 引数の型に応じて定義が使い分けられるだけじゃないの? ↓キャストでもコンパイルできたし。 int a, b; (static_cast<int (*)(int*, int*)>(foo))(&a, &b); http://echo.5ch.net/test/read.cgi/tech/1158991211/186
187: 185 [sage] 2006/10/22(日) 17:59:14 >>186 boost::bindは? http://echo.5ch.net/test/read.cgi/tech/1158991211/187
188: デフォルトの名無しさん [sage] 2006/10/22(日) 18:02:01 >>187 boost::bind(static_cast<int (*)(int*, int*)>(foo), _1, &b)(&a); これぐらい自分で補完しろよ。 http://echo.5ch.net/test/read.cgi/tech/1158991211/188
189: デフォルトの名無しさん [sage] 2006/10/22(日) 18:35:54 >>188 コンパイル出来るんだ。へぇー。 http://echo.5ch.net/test/read.cgi/tech/1158991211/189
190: デフォルトの名無しさん [sage] 2006/10/22(日) 19:04:01 がんばって早く「ごめんなさい」の言える大人になろーね。 http://echo.5ch.net/test/read.cgi/tech/1158991211/190
191: デフォルトの名無しさん [sage] 2006/10/22(日) 19:23:43 ごめんなさい http://echo.5ch.net/test/read.cgi/tech/1158991211/191
192: デフォルトの名無しさん [sage] 2006/10/22(日) 19:40:14 >>190 だって食い下がって逆撫でしていれば >>188みたいな知識ひけらかし大好き君が無償で色々書いてくれるんだもん。 こういう子は利用しない手はないって。 http://echo.5ch.net/test/read.cgi/tech/1158991211/192
193: デフォルトの名無しさん [sage] 2006/10/22(日) 19:57:34 >>192 普通に質問すればいいのに、なんでわざわざそんな手段をとる必要がある? http://echo.5ch.net/test/read.cgi/tech/1158991211/193
194: デフォルトの名無しさん [sage] 2006/10/22(日) 20:19:00 回答をもらえる確率が上がるから。 http://echo.5ch.net/test/read.cgi/tech/1158991211/194
195: デフォルトの名無しさん [sage] 2006/10/22(日) 20:25:02 まぁ、スレを客観的に眺めると、知識ひけらかし大好き君は>177と分かるんだけどね。 >176で終わってる質問だし。 それに>188の知識は>176以上のものではないし。 散々引っ張っといて同じモノしか出ないんじゃ、割に合わない。 単純に悔しくなった>177君が利用してやった振りしてるだけ。 http://echo.5ch.net/test/read.cgi/tech/1158991211/195
196: デフォルトの名無しさん [sage] 2006/10/22(日) 20:47:18 >>182 に「たぶん」って書いてあるのは、ただの妄想ってことでいいの? http://echo.5ch.net/test/read.cgi/tech/1158991211/196
197: 189 [sage] 2006/10/22(日) 23:35:55 >>188 ごめん。 だれもつっこんでくれないから寝る前に一言 > boost::bind(static_cast<int (*)(int*, int*)>(foo), _1, &b)(&a); ちょっと言い訳・・・・「&a」参照の罠に嵌ってました。以上です。では、おやすみ。 http://echo.5ch.net/test/read.cgi/tech/1158991211/197
198: デフォルトの名無しさん [sage] 2006/10/25(水) 18:14:32 std::map みたいに扱えて、実はバックエンドがデータベースだなんて すてきな使い心地のライブラリって無いものでしょうか。 http://echo.5ch.net/test/read.cgi/tech/1158991211/198
199: デフォルトの名無しさん [sage] 2006/10/25(水) 19:42:34 boost::graph と ASLの adobe::forest が車輪の再発明ぽい点について http://echo.5ch.net/test/read.cgi/tech/1158991211/199
200: デフォルトの名無しさん [sage] 2006/10/25(水) 20:28:36 ASL かわいいよ ASL http://echo.5ch.net/test/read.cgi/tech/1158991211/200
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 801 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.224s