4

かなりの量の c++ を学んだ後、私は STL コンテナーとアルゴリズム テンプレート ライブラリに夢中になりました。私の主な関心事は、

1) このライブラリは、MS、Linux、その他の OS などの異なるプラットフォーム間で同じですか?

2)STLコンテナとアルゴリズムの使用が増えると、プログラムのC++モジュールの品質または効率が低下します。すべてのニーズに合わせてカスタマイズすることはできないと思います。

3) このテンプレート ライブラリは、Linux システム プログラミングやカーネル モジュールで使用するのに適していますか?

4) 最後に、これをプログラミング コンテストで使用できますか?

4

3 に答える 3

5

1) このライブラリは、MS、Linux、その他の OS などの異なるプラットフォーム間で同じですか?

いいえ。標準化されたインターフェイスを除いて、実装はコンパイラ スイートごとにすべて異なりますまた、hash_map.

2)STLコンテナとアルゴリズムの使用が増えると、プログラムのC++モジュールの品質または効率が低下します。すべてのニーズに合わせてカスタマイズすることはできないと思います。

私はそうは思わない。非常に特別なニーズがない限り、品質と効率は、自分で調理するよりもはるかに優れているはずです.

3) このテンプレート ライブラリは、Linux システム プログラミングやカーネル モジュールで使用するのに適していますか?

カーネルには C を使用することをお勧めします。

4) 最後に、これをプログラミング コンテストで使用できますか?

コンテストのルールによります。

于 2010-03-10T14:32:43.937 に答える
4

1) 規格(インターフェース)は同じです。実装が異なります。

2) プログラムの質や効率は、あなたのスキルだけにかかっています。STL は、使用および誤用できる利点を提供します。

3) カーネル モジュールではありません。ユーザー モード アプリケーションでは可能です。

4) 通常、C++ コンテストでは STL が許可されます。

于 2010-03-10T14:34:15.080 に答える
3

1) API は同じです。標準で指定された制限動作 (例: O(n) )。実装ベンダー固有。これは、アプリのスケーリングに依存できることを意味します。

2) この質問をしなければならない限り、STL を使用することでコードの品質と効率が向上する可能性があります。

3) カーネルにはありません。

4) C++ constests は STL を許可する必要があります。

于 2010-03-10T14:41:39.743 に答える