みなさんはどのSTLを使ってますか? – プログラミング – Home

みなさんはどのSTLを使ってますか?
 
通知
すべてクリア

[解決済] みなさんはどのSTLを使ってますか?

固定ページ 1 / 2

アミバ
 アミバ
(@アミバ)
ゲスト
結合: 20年前
投稿: 36
Topic starter  

STLと一口に言っても、世の中にはいくつも亜流があります。僕が知ってる有名どころ

・STLport
・Boost
・Dinkum Standard Library
です。みなさん、どれを使われてますか?

僕はSTLportです。
・VC++6時代、標準添付のSTL(Dinkum Standard Llibrary)
を最初に使ったが、Debugビルドで文法エラーが多発した。
それの調査にえらい時間を食って嫌になった。
(原因は#define DEBUG_NEWがらみだった)
で、たまたまSTLportを無料で使える事を知り、使ってみたら上記のような
妙な問題は消えた。しかもバージョンアップも無料。
http://www.s34.co.jp/cpptechdoc/article/hash/index.html
のベンチマーク結果を見て、STLportが一番だった。
部分的な性能検査だけだが、拡大解釈しSTLportは総合的に一番
速いのかもしれないなあとした。
のがそのわけです。

最近はBoostにちょっと惹かれています。どっちがいいのかなあ。速度が速い方がい
いなあ。


引用未解決
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 21年前
投稿: 600
 

BoostはSTLではありません。


返信引用
アミバ
 アミバ
(@アミバ)
ゲスト
結合: 20年前
投稿: 36
Topic starter  

あれ?そうなんですか?もしかしてSTLを内包したライブラリって感じですか?
それに関するYes/Noだけでいいから教えて下さい~。お願いします。

何かの情報で、C++標準化委員の何人かが開発に加わってるという話を聞きました。
って事は、Boost特有の便利な機能を、その人達がISOにプッシュしたりするんじ
ゃないかなー、と思ってみたり。
なら、「今からBoost入れとっか?」と思ったんです。


返信引用
アミバ
 アミバ
(@アミバ)
ゲスト
結合: 20年前
投稿: 36
Topic starter  

ああ、あとεπιστημηさんはどれを使われているのでしょうか?


返信引用
アミバ
 アミバ
(@アミバ)
ゲスト
結合: 20年前
投稿: 36
Topic starter  

度々すいません。

使い分けている方もいらっしゃると思います。
そういう方は「どれが最も良かったか?」を聞かせて頂けると幸いです。
特に速度に関して興味があります。

自分でも調べようと思いますが、先人の経験談を少しでも頂けたら嬉しいなあと思い質問
させて頂きました。宜しくお願いします。


返信引用
Ban
 Ban
(@ban)
Prominent Member
結合: 5年前
投稿: 776
 

NO です。

STL も内包してません。STL を補完するような便利な機能とかはありしますけど、
基本的に boost は STL とは独立した別機能群です。

とりあえず使ってみてまず損はないと思いますけど>boost


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 21年前
投稿: 600
 

> あれ?そうなんですか?もしかしてSTLを内包したライブラリって感じですか?
> それに関するYes/Noだけでいいから教えて下さい~。お願いします。

内包していません。 STLでは物足りないと感じた猛者連中が'追加'したものの集合体です。

> って事は、Boost特有の便利な機能を、その人達がISOにプッシュしたりするんじ
> ゃないかなー、と思ってみたり。

C++標準化委員会のメンバとしてお答えします。その通りです。
Boostの正規表現(regex)を標準C++ライブラリに組み入れようかという
動きがあります。

>「今からBoost入れとっか?」と思ったんです。

「STLとBoost入れとっか?」と思ってください。

> ああ、あとεπιστημηさんはどれを使われているのでしょうか?

いろいろ。GCC/C++Builder/VC++ それぞれ異なるSTL実装ですから。


返信引用
アミバ
 アミバ
(@アミバ)
ゲスト
結合: 20年前
投稿: 36
Topic starter  

STLが既に扱っている機能は、Boostは触れてないのですね。
STLに無い機能を加速、追加したライブラリがBoostであると。

また僕の誤りが修正されました。ありがとうございました。

となると僕の知ってるSTLは、ディンカムとSTLportだけになってしまうなあ。
では仕切りなおしを。

この二つ(或いはみなさんが御存知のSTL)では、どれをお好みですか?


返信引用
アミバ
 アミバ
(@アミバ)
ゲスト
結合: 20年前
投稿: 36
Topic starter  

>C++標準化委員会のメンバとしてお答えします。
なぬっ!?びっくり仰天、参りました。って事は文字列処理の標準化に大きく関われてい
るのですね。凄いなあ。恐れながら一つ伺っていいでしょうか?日本人の標準化委員って
何人ぐらいいらっしゃるんでしょうか?

>「STLとBoost入れとっか?」と思ってください。
了解です。どうも有難う御座いました。でもBoost入れると勉強が必要だな
あ...。
#そんな事いってちゃだめだ!

>いろいろ。GCC/C++Builder/VC++ それぞれ異なるSTL実装ですから。
そういえばGNUのSTLを忘れてました。これも独自の実装なのでしょうねえ。
Builderに標準添付のSTLは 確かSTLportでしたね。
どれも似たり寄ったりなのかなあ。STLportに軍配が上がると思ってました。

引き続き 皆さんの経験談をお待ちしております~。


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 21年前
投稿: 600
 

>>C++標準化委員会のメンバとしてお答えします。
> なぬっ!?びっくり仰天、参りました。って事は文字列処理の標準化に大きく関われてい
> るのですね。

確かに string/stream関係は日本が貢献しましたが、あくまで個人として、です。
標準化委員会はC++の言語/ライブラリの全域に亘ってreviewします。

> 凄いなあ。恐れながら一つ伺っていいでしょうか?日本人の標準化委員って
> 何人ぐらいいらっしゃるんでしょうか?

えーと、10名以下ですね。

> そういえばGNUのSTLを忘れてました。これも独自の実装なのでしょうねえ。

GNUのはおそらくSGI版がベースです。
独自といえば独自ですが、元をただせばルーツはひとつ。
どのSTLも元はHewlettPackardの実装です。

> Builderに標準添付のSTLは 確かSTLportでしたね。

ちょっと前なら(今でも?) Rogue Wave のSTLも納められているはず。


返信引用
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

επιστημηさん、標準化委員会の方だったんですか…
道理で詳しいわけだ…

ぐぐってみると、resursion software の Standard ToolKit ってのが出てきました。
この会社、昔は ObjectSpace って名前だったんでしょうか。

ちなみに俺はどれかっつーと…ごめんなさい、どれも使ってません。
C + Win32 API から入ったんで。どうも Win32 API と STL って仲悪くて…
最近は C++ 自体、あまりさわってないですし。


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 21年前
投稿: 600
 

> ぐぐってみると、resursion software の Standard ToolKit ってのが出てきました。
> この会社、昔は ObjectSpace って名前だったんでしょうか。

YES.

Recursion Software は .NET版 STL / Java版 STL ともいえるライブラリをリリースしてい
ます。


返信引用
アミバ
 アミバ
(@アミバ)
ゲスト
結合: 20年前
投稿: 36
Topic starter  

>10名以下
10人の選ばれし者達。余程の猛者でないとお声がかからないんだろうなあ。
επιστημηさんはその一人かあ。すごいや!

>どのSTLも元はHewlettPackardの実装です。
そういえばディンカム版STLのヘッダにHPのシグネチャがありますね。
Alexander Stepanovさん、偉大な発明品をどうも有難う。

元はいっしょでも、実装者によって性能は変わるものですね。
(既述のS34の記事の通り。επιστημηさん、有難うございます)

>Rogue Wave
BuilderはデュアルSTLですか?ゴージャスですね。

うーん、「このSTLがいいぜ!これにしとけよ!」というのはないようですね。
せっかく質問したので、もうちょっと待ってみます。


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 21年前
投稿: 600
 

STLportがスピード的にはよさげです。
メモリのallocate/deallocateがかなりtune-upされているように見受けられます。

鵜呑みにしないように。きちんとベンチマークかけて実測/検証してください。

速度だけでなく、生成されるコードの量/質さらに処理系との相性なども
あるでしょう。良し悪しの尺度が様々なので'どれがいい'とは一概には
決められないと考えます。


返信引用
アミバ
 アミバ
(@アミバ)
ゲスト
結合: 20年前
投稿: 36
Topic starter  

>Win32 API と STL って仲悪くて…
初めて知りました。僕はガンガン使ってます。
ひょっとして 僕の知識の及ばない所で 何かマズい事があるのかも...。

>.NET版 STL / Java版 STL ともいえるライブラリ
新興系の言語(C#やJAVA)も、やはり親であるC++に倣ってテンプレート(GE
NERICSって言うんでしたっけ?)を導入しましたね。何年か前から。

#でも、若い者(新興系言語)には まだまだ負けないぞお、C++(爺さん)は。


返信引用
固定ページ 1 / 2

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました