XP VC++2005 SDK で開発を行っています。
そこでSTLなのですが、STL自体もう古いのでしょうか?
Amazonで文献を探しても大抵2000年前後の物しか見当たりません。
以前は「vector」や「list」を使ってコーディングしていました。
要素の追加や挿入や削除等、配列にはないものを持っているので、
頻繁に使用していました。
2009年現在はこのSTLの「vector」「list」に変わるクラス等が存在するのでしょうか?
出来るだけ新しいものを使いたいと思っています。
お願いします。
> 大抵2000年前後の物しか見当たりません。
ご心配なく。成熟したライブラリだからです。
「安定した標準規格についての本を今更新規に書いても多分売れない」
という理由なんじゃないでしょうか>出版事情
(C++0xという焼き直しは入るとしても)標準としてはある程度
「枯れてる」方がいいと思います。
C++ 自体が古いというか、C# や Java、LL 等の登場により、2000年当時よりは使われていないという事情もあるのでしょうね。
売れない本は書かれませんから。
# あ、epi さんの本は買いましたよー。後でサインくださいw
回答ありがとうございます。
新しいクラスライブラリか何か変わるものがあるのではないかと思い、
質問させていただきました。
変更点が無いからといってサポートされなくなるというわけでは
無いということですよね?
VistaでもWindows7でも問題ないと解釈して良いでしょうか?
> 変更点が無いからといってサポートされなくなるというわけでは
> 無いということですよね?
です。
> VistaでもWindows7でも問題ないと解釈して良いでしょうか?
なぜそこでOSが!?
OS単位で対応状況が変わることもあるかと思って質問してみました。
たとえばですが、VC++6.0から2005へソースをアップグレードしたとき、
数百単位でエラーや警告などが表示されました。(STLの部分以外ですが)
これを一生懸命手で一つ一つ修正した経緯が有り、
OSが変わったから今度はこっちを使ってねみたいな状況が
有るのかどうか知りたかったわけです。
STLが古くから有るものですから心配になったのです。
見当違いなのかもしれませんが、
STLはDLLで動いているのではないんでしょうか?
system32以下のフォルダ等にSTLのDLLが有るのではと思っているのですが、
そのDLLがVistaやWindows7にも入っているのかと思い、質問しました。
> STLはDLLで動いているのではないんでしょうか?
ごく一部を除き、STLはヘッダ"だけ"です。
テンプレートなのでライブラリ(lib/dll)になり得ないんです。
ライブラリ依存部があったとしても、STLは標準C++の一部です。
なので、OSに伴ってコンパイラに変更があったとしても、
そのコンパイラが標準C++準拠を謳う限り、
STL実装(ヘッダ+ライブラリ)は同時にメンテされます。
# コンパイラに付属しないSTL実装(STLportとか)であった場合は
# 必要に応じてライブラリを再構築することになるでしょうね。
回答ありがとうございます!!
コンパイラに付属しないSTL実装についてはちょっと分かりませんが、
通常使うSTLに問題は無いということですね。
ヘッダだけというのはびっくりしました。
てっきりライブラリかと思ってました。
不安だったのですっきりしました、親切丁寧に教えていただいて
ありがとうございます!!
> 回答ありがとうございます!!
ぃぇぃぇ、お役に立てて何より。
ついでにSTLのおカズ↓にぜひどうぞ! ^^;
http://astore.amazon.co.jp/episteme00-22/detail/4797354534
# 後でサインください
はーい♪
ツイート | ![]() |