ZacKです。

ついでなので もう少し独り言をば。(^^;

大月浩 wrote: [vcpp 00046732]
<2...@pop3.osk.3web.ne.jp>
> それにしても、不思議な実装(不手際?)ですね。

アドホックな結合になるのをきらって、必ず functional ヘッダに定義され
てる述語クラスから派生させたかったのか とも思いましたが(結局、失敗して
ますけど)、それにしても何ゆえ greater からなのでしょうね。

sort に渡す述語オブジェクトは、必ず所定の述語クラスから派生したものに
限定したい、という MS の考え(?)に沿って修正するなら、functional ヘッダ
に定義されてる述語オペレータを全て仮想化して、かつ述語オブジェクトを
パラメータに取ってる箇所を参照渡しにすればうまく行くのでしょうけど、
それをやると変更箇所が大量になりそうです。

で、わたしは VC++ に元々ついてる STL は使ってません。SGI サイトから
提供されてる STL の、しかも機能限定版の方を組み込んでます。
http://www.sgi.com/Technology/STL/

限定版はメンバ関数テンプレートなどを使わない版なので、今回のように list
の sort に引数を渡す機能はないのですが、安定してるので(hash も使えるし)
まあ満足してます。Tietew さんが言われるようにメンバ関数テンプレートに
不安があるなら、こちらを使うという手もあるかもしれません。

# SGI-STL の正式版は(今はもう大丈夫なのかもしれませんが)確か
# basic_string あたりが VC++ の標準ヘッダとぶつかるんですよね。
# 限定版でも MFC の CString と食アタリを起こすのですが^^;、これは
# afx.h, afx.inl のインラインの比較オペレータを __stdcall から
# __cdecl に変えるだけで済みます。ただ限定版の本来の問題として、
# マルチスレッドでコンパイルする場合 alloc.h のグローバル変数の二重
# 定義に対処する必要があるのですが...。
-- 
                                   山崎 正 (ZacK)
                                   mailto:z...@post.co.jp