[過去ログ] Boostを語れゴラァ part3 (1001レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
470: 2006/12/18(月)18:23 AAS
>>468
直ってないような気がする・・・
471: 2006/12/18(月)18:28 AAS
いや、気がするんじゃなくて間違いなく直ってないや。
472: 2006/12/18(月)18:40 AAS
SP1出たんだな
473: 2006/12/18(月)18:46 AAS
STLPort使うとなぜかは知らないがlocale::globalの後でもimbueが効くようだ。
474
(1): 2006/12/18(月)21:57 AAS
なあ、boostいじってるC++狂の連中はWebアプリケーションはなにで
書いてるんだ?
俺、JavaもPerlもやる気しねーよ。もっとC++でWebアプリ書くフレーム
ワークとか環境とか色々あってもいいのになあとか思うんだが。
475: 2006/12/18(月)21:59 AAS
boostいじってるC++狂の連中はWebアプリケーションなんてかったるいものは
書かないんじゃないかな
476: 2006/12/18(月)22:00 AAS
Perlは確かに使う気しないがJavaなら別にいい
477: 2006/12/18(月)22:12 AAS
スレ違いだと思うのでURLだけ
外部リンク[html]:ws.apache.org
外部リンク[html]:www.cs.fsu.edu
外部リンク[html]:www.xlsoft.com
478: 2006/12/18(月)22:18 AAS
boost::CppOnRailsができるのを待つか
479: 2006/12/19(火)00:42 AAS
>>474
なんか「柴犬」とか言うtomcatもどきをC++で実装してテストしてるスレがあった希ガス
480: 2006/12/19(火)07:44 AAS
sscanfみたいなのを
正規表現で指定できる関数はあるのでしょうか?
481: 450 2006/12/19(火)08:04 AAS
SP1いれたら、テンプレートテンプレートパラメータのデフォルト引数が使えるようになっていた。
482
(1): 2006/12/19(火)14:13 AAS
boost MLに何度か投稿していたら
software関係conferenceの Invitation to submit a paper
(おそらくSPAMの一種だと思う)がくるようになった。

同種のメールは、自分の専門分野の関連領域でもくるのだが
( inviteされるような仕事してねえのに invite ってなんだよ)

software関連のは本当に怪しいのかを見分ける手段がない
なにか見分ける方法ないものか
483
(3): 2006/12/19(火)19:52 AAS
すみません、質問させてください
基本型あるいはユーザ定義型の配列の要素数を返す関数を作ろうとしてるんですが
arrayがユーザ定義型の配列であった場合でも
/* @ */の処理がコンパイルされるためエラーになってしまいます

template <typename T> void count(T array[]){
if(boost::is_pod<T>::value){/* @ */}
else{/* A */}}

WEBで調べているとboost::enable_ifで解決できそうな予感がしたのですが
自分には次の例がよく理解できません(特に::type*=0の部分)
これはどういった理屈で動いているんでしょうか

template<typename T> void copy_n( const T* from, int n, T* to,
typename enable_if< is_pod<T> >::type* =0 ){/* 省略 */}
484
(1): 2006/12/19(火)20:09 AAS
>>483
enable_ifやdisable_ifは、関数のオーバーロード解決のルールをトリッキーに使っている。

やりたいことを実現する方法はいくつかある。
たとえばこんな方法。

//false以外、すなわちtrueの場合に呼ばれる
template < bool isPod >
struct Count_impl
{ static void do() {/* 1 */} } ;

//特殊化、falseの時に呼ばれる
template < >
struct Count_impl<false>
{ static void do() {/* 2 */} } ;

template < typename T >
void count(T array[])
{
 Count_impl<boost::is_pod<T>::value>::do() ;
}
485
(1): 2006/12/19(火)20:11 AAS
>>483
enable_if<is_pod<T> >
には、TがPODならtypeメンバがあり、そうでなければtypeメンバがない。
したがって、TがPODでないとき、typename enable_if<is_pod<T> >::typeは
不正な型であり、SFINAE規則によってこの定義が多重定義の考慮から外される。
結果として、TがPODであるときのみ考慮される定義ができたわけだ。
typename enable_if<is_pod<T> >::typeは、このコンパイル時選択の機構のためだけに
使われているので、インタフェースに影響を与えないようにデフォルト値付きの引数になっている。
ポインタを取っているのは簡潔に0で初期化できるようにだろう。
486: 483 2006/12/19(火)21:31 AAS
>>484,485
レス感謝です
おかげさまで理解できました

>>484
こういう風にすればenable_ifなしでいけるんですね
なんとかそのプログラム理解はできても
自分で書けるようになるまでが大変だ・・
とりあえずこれを参考に頑張ってみます

>>485
enable_if< is_pod<T> >::type* =0
ええと、この式の場合だと
組み込み型の場合はtypeメンバが存在するわけですよね
そして組み込み型でない場合はtypeがないから定義自体されない
それだと* =0はなくても大丈夫なんじゃ?と思ったけど
この引数はコンパイル時にifの役割を果たせばよいから省略可能にしたい
省略可能にするには=とデフォルト引数が必要で
typeをtype*にすればどんな場合でも0が代入できる
うーむ、よく考えられてますね
487
(1): 2006/12/19(火)22:46 AAS
個人的には返り値型に使うほうが好き>enable_if
488: 2006/12/20(水)01:12 AAS
>>482
自分で「おそらくSPAMの一種だと思う」なら、ちゃんと見分けられてるじゃないか。
489: 2006/12/20(水)03:58 AAS
>>487
コンストラクタだとデフォルト引数として仕掛けるしかないけれどね

逆に引数の数が固定されていて余計なデフォルト引数が仕掛けられない
演算子関数定義だと戻り値型一択になるね
490
(1): 2006/12/20(水)20:21 AAS
そもそも483が作ろうとしていると言う配列の要素数を返す関数は、
基本型かユーザ定義型かで分けて一体何をするのか気になる。

配列の要素数と言えばそもそもboost::size()で済むような話ではないのか?
491: 2006/12/20(水)20:32 AAS
>>490
番兵を思いついた。
podな型に対しては、ある値を決めておき、
俺様クラスについては、専用のフラグでも用意しているとか。
492
(1): 2006/12/21(木)16:05 AAS
boost開発者向けMLに、自分用に作った
プログラム(boostの既存libの部品の追加してるだけだけど)、
死蔵するのもったいないから
ときどき投稿してたんだけど、
最近、無視されてるっぽい。
493: 2006/12/21(木)17:41 AAS
boost使いはVS2005にSP1はあてるのかい?
494: 2006/12/21(木)17:56 AAS
当たり前だ
495: 2006/12/21(木)21:36 AAS
>>492
何か不満か? ML に晒したんなら勝手に使ってる奴もいるだろう。
使った人が必ずレスポンスを返すわけでもなし。
死蔵にはならずに済んだんだからいいだろ。
496: 2006/12/21(木)22:52 AAS
boost.cppll.jp 落ちてる?
497: 2006/12/21(木)23:29 AAS
ぽいね。俺も繋げない
498: 2006/12/22(金)11:42 AAS
ublasのatlasへのインターフェイスをbackendと表現してるのだが
backendってそういう意味なんだっけ?
499
(1): 2006/12/22(金)12:01 AAS
まあCORBAとDCOMではproxy/stubが逆転していることですし
1-
あと 502 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.011s