C++ stl コンテナと MFC コンテナどちらを使用しますか?
-
20-08-2019 - |
質問
すべての stl コンテナーに対して、ビジュアル C++ で使用できる MFC コンテナーがあります。どのような意味で、また何を使用するかという点で、どちらが他のコンテナーよりも優れていますか?
私はいつも STL コンテナを使用していますが、それは間違っていますか?
解決
MFC コレクション クラスにはいくつかの利点があります もし あなたは MFC の土地の範囲内で働いています。例えば。シリアル化 (コンテナ要素が CObject などから継承している場合) や、「無料」のデバッグ サポートなどが得られます。MSDN には、さまざまな MFC コレクション タイプの間で選択する方法の詳細が記載されています [こちら](http://msdn.microsoft.com/en-us/library/y1z022s1(VS.80).aspx).
ただし、デフォルトとしては、STL クラスを使用することになります。
他のヒント
私はいつもので、可搬性のSTLコンテナを好むだろう。
MFCコンテナはほとんどのLinuxで利用可能になることはありません。
あなたがLinux上でコードしている使用する予定がない場合でも...あなたは未来がもたらすかを知ることはありません。
人々は、STLを使用する理由として、コードの移植性を指摘しましたが、あなたの自己の利益のために、よりはるかに優れている理由やものがある:スキルと経験の移植性。私の意見では、あなたの履歴書上のSTLでの経験はあなたに多くの機会を与える持つあなたの次の仕事を探しに行くとき。どうして? STLを効果的、標準C ++の一部であり、私が雇った場合、私はSTLを知っている人はかなり迅速にMFCコンテナを拾うことができることを前提としますが、私はSTLのスキルを持つ人を探していた場合、私は必ずしも反対の仮定をすることはないだろう。
」と率直に言って、チームはあなたに同じ答えを与える。MFCのコレクションクラスは後方互換性のためだけに存在します。C ++は、コレクションクラスのための標準を持っており、それが標準C ++ライブラリです。のいずれかを使用するための技術的な欠点がありませんMFCアプリケーションで標準ライブラリます。
私たちは、この分野での大幅な変更を行う予定がない。
ロナルドLaeremans 演技のプロダクトユニットマネージャー Vsual C ++チーム 「
proprietarismにPrefferの移植性と自由。 STL&ブースト(www.boost.org)のために移動します。
STLのもの。真剣ます。
使っていSTL容器のための多くの理由彼らはどれも文書化し、理解する人。彼らも常に心がけているようにたく新しい機能を追加したブースで後方に対応しました。また曲げ、心を読Alexandrescuの近代的なC++のデザイン:汎用プログラミングやデザインパターンに適用されます。用力にSTLは多くの技術です。
何かを考えるの STLは"Standard"が、 MFCは"Microsoft".他のランダムな汎用C++コーダーが理解STL、古Microsoftメリカ-サンフランシスコハウスMFC.また、マイクロソフトがほとんど廃MFC.
であっても、例外がないことができ、無料のダブルのエスプレッソを行います。ちょうどあなたの目を閉じて、DELキー(別名NO-LOCK-INキー)を使用します。
あなたはすべてのこと、より移植性や小道具ソリューションは唯一の夢を見ることができるplugabbleの方法で行うことができます。 STLのすべての方法..