C++ 標準テンプレート ライブラリ (STL) は、データの管理と操作に使用できるコンテナー、アルゴリズム、イテレーターのセットです。 STL コンテナ (ベクター、リスト、マップ、セットなど) は、自動メモリ管理、タイプ セーフティ、およびさまざまな操作を提供します。 STL アルゴリズムは、並べ替え、検索、変換などの一般的な操作を実行します。 STL イテレータを使用すると、コンテナ内の要素を走査できます。これらの機能を組み合わせて使用すると、生徒の成績の並べ替えやグループ化など、効率的で保守しやすいコードを作成できます。
C++ 標準テンプレート ライブラリ (STL) の使用方法
STL は、効率的で保守可能なコードを作成するのに役立つ C++ 標準ライブラリの強力なコンテナ、アルゴリズム、イテレータのセットです。このチュートリアルでは、STL のいくつかの基本機能の使用方法を説明します。
STL コンテナ
STL コンテナは、配列と同様に、データの保存と管理に使用されます。ただし、コンテナーは次のような追加機能を提供します。
一般的に使用される STL コンテナには以下が含まれます:
STL コンテナを作成する
STL コンテナを作成するには、そのタイプと要素のタイプを指定するだけです。たとえば、ベクターを作成するには、次の構文を使用できます。
std::vector<int> myVector;
STL コンテナの使用
STL コンテナを作成したら、一連の操作を使用して操作できます。たとえば、要素をベクターに追加するには、push_back()
メソッドを使用できます: push_back()
方法:
myVector.push_back(10);
要访问容器中的元素,您可以使用其索引,类似于数组:
int firstElement = myVector[0];
STL 算法
STL 算法提供了一组内置函数来执行对容器的常用操作,例如排序、查找和转换。例如,要对 vector 进行排序,可以使用 sort()
算法:
std::sort(myVector.begin(), myVector.end());
STL 迭代器
STL 迭代器允许您遍历容器中的元素。迭代器是一个指向容器中元素的对象,并且它可以指向容器中的下一个元素。例如,要遍历 vector,您可以使用 begin()
和 end()
方法获取其迭代器,然后使用 ++
运算符递增迭代器:
for (std::vector<int>::iterator it = myVector.begin(); it != myVector.end(); ++it) { std::cout << *it << std::endl; }
实战案例
以下是如何在实际场景中使用 STL 的一个示例:
我们有一个学生成绩列表,我们需要根据成绩对他们进行排序和分组。我们可以使用 STL 的 map
和 sort
算法来实现此目的:
std::map<int, std::vector<std::string>> students; // 添加学生和成绩 students[90] = {"John", "Mary"}; students[80] = {"Alice", "Bob"}; // 对成绩进行排序 std::map<int, std::vector<std::string>> sortedStudents(students.begin(), students.end()); // 分组学生 for (const auto& [grade, students] : sortedStudents) { std::cout << "Grade: " << grade << std::endl; for (const auto& student : students) { std::cout << "- " << student << std::endl; } }
此代码创建了一个 map 来存储学生的分数和姓名,并使用 std::sort()
rrreee
sort()
アルゴリズムを使用できます。 🎜rrreee🎜🎜STL イテレータ🎜🎜🎜STL イテレータを使用すると、コンテナ内の要素を反復処理できます。イテレータはコンテナ内の要素を指すオブジェクトであり、コンテナ内の次の要素を指すことができます。たとえば、ベクトルを反復するには、begin()
メソッドと end()
メソッドを使用してその反復子を取得し、++ を使用してそれをインクリメントします。
演算子 イテレーター: 🎜rrreee🎜🎜実際的なケース🎜🎜🎜 以下に、実際のシナリオで STL を使用する方法の例を示します: 🎜🎜 生徒の成績のリストがあり、それらを並べ替えてグループ化する必要があります。彼らの成績に基づいて。 STL の map
アルゴリズムと sort
アルゴリズムを使用して、これを実現できます: 🎜rrreee🎜 このコードは、生徒のスコアと名前を保存するマップを作成し、 std を使用します。 :sort()
マップを並べ替えます。次に、ソートされたマップを繰り返し処理し、各グループの生徒のリストを出力します。 🎜以上がC++ テンプレート ライブラリ (STL) の使用方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。