strings pair tuples stl
STLの文字列、ペア、タプルの基本概念をすばやく学びます。
このチュートリアルでは、イテレータ、アルゴリズム、コンテナなどの詳細でより大きな概念に実際にジャンプする前に、STLの文字列、ペア、タプルの基本的な知識を習得します。
文字列は一般的なC ++言語と同じように使用されますが、STLの観点から説明する価値があります。文字列は、文字の連続したコンテナと考えることができます。また、STLでテンプレートクラスを扱うときは、STLに関するPAIRとTUPLEの概念を知っていることが非常に重要です。
=> ここで詳細なC ++トレーニングチュートリアルを確認してください。
学習内容:
STLの文字列
STLの文字列は、ASCII形式とUnicode(ワイド文字)形式の両方をサポートします。
STLは、次の2種類の文字列をサポートしています。
#1)文字列: これはASCII形式の文字列であり、このタイプの文字列オブジェクトをプログラムに含めるには、string.hファイルをプログラムに含める必要があります。
#include
#2)wstring: これはワイド文字の文字列です。 MFCプログラミングでは、これをCStringと呼びます。プログラムにwstringオブジェクトを含めるには、ファイルxstringを含めます。
#include
ASCIIまたはUnicodeのいずれであっても、STLの文字列は、他のSTLコンテナと同じようにさまざまなメソッドをサポートします。
文字列オブジェクトでサポートされているメソッドには、次のものがあります。
- ベギン() :最初にイテレータを返します。
- 終わり() :最後にイテレータを返します。
- インサート() :文字列に挿入します。
- 消去() :文字列から文字を消去します。
- サイズ() :文字列の長さを返します。
- 空の() :文字列の内容を空にします。
上記のこれらのメソッドとは別に、C ++チュートリアルの以前の文字列の文字列クラスメソッドについてはすでに説明しました。
STL文字列を示す簡単なプログラムを書いてみましょう。
データベースインタビューの質問と回答pdf
#include #include using namespace std; int main() { string str1; str1.insert(str1.end(),'W'); str1.insert(str1.end(),'O'); str1.insert(str1.end(),'R'); str1.insert(str1.end(),'L'); str1.insert(str1.end(),'D'); for (string::const_iterator it = str1.begin(); it != str1.end(); ++it) { cout << *it; } int len = str1.size(); cout<<'
Length of string:'< 出力:
世界
文字列の長さ:5
上記のコードでは、これまで見てきたように、文字列オブジェクトstr1を宣言してから、insertメソッドを使用して、文字列の最後に文字を1つずつ追加します。次に、イテレータオブジェクトを使用して、文字列を表示します。
次に、sizeメソッドを使用して文字列の長さを出力します。これは、文字列のみを示す簡単なプログラムです。
STLのペア
STLのPAIRクラスは、連想コンテナをプログラミングするときに便利です。 PAIRは、同じデータ型または異なるデータ型の2つの値をグループ化するテンプレートクラスです。
一般的な構文は次のとおりです。
pair pair1, pair2;
上記のコード行は、2つのペア(pair1とpair2)を作成します。これらのペアは両方とも、タイプT1の最初のオブジェクトとタイプT2の2番目のオブジェクトを持っています。
T1は最初のメンバーであり、T2はpair1とpair2の2番目のメンバーです。
PAIRクラスでサポートされているメソッドは次のとおりです。
- 演算子(=): ペアに値を割り当てます。
- スワップ: ペアの内容を交換します。
- make_pair(): パラメータリストで定義されたオブジェクトを持つペアを作成して返します。
- 演算子(==、!=、>、<, = ) : 2つのペアを辞書式に比較します。
これらの関数の使用法をコードで示す基本的なプログラムを書いてみましょう。
#include using namespace std; int main () { pair pair1, pair3; pair pair2; pair1 = make_pair(1, 2); pair2 = make_pair(1, 'SoftwareTestingHelp'); pair3 = make_pair(2, 4); cout<< '
Pair1 First member: '< 出力:
ペア1最初のメンバー:1
Pair2 2番目のメンバー:SoftwareTestingHelp
OSIモデルでは、どのレイヤーが最下部にあり、ネットワークを形成するハードウェアを表していますか?
ペアが等しくない
上記のプログラムでは、それぞれ整数型の2つのペアと、整数型と文字列型の別のペアを作成します。次に、「make_pair」関数を使用して、各ペアに値を割り当てます。
次に、演算子「==」を使用してペア1とペア2を比較し、それらが等しいかどうかを確認します。このプログラムは、PAIRクラスの基本的な動作を示しています。
STLのタプル
タプルの概念は、ペアの拡張です。ペアでは、2つの異種オブジェクトを組み合わせることができますが、タプルでは、3つの異種オブジェクトを組み合わせることができます。
タプルの一般的な構文は次のとおりです。
tupletuple1;
ペアと同様に、タプルも同様の機能といくつかの追加機能をサポートします。
これらは以下のとおりです。
- ビルダー: 新しいタプルを作成します。
- Tuple_element: タプル要素のタイプを返します。
- make_tuple(): パラメータリストで記述された要素を持つタプルを作成して返します。
- 演算子(==、!=、>、<, = ): 辞書式順序で2つのペアを比較します。
- 演算子(=): タプルに値を割り当てること。
- スワップ: 2つのタプルの値を交換します。
- ネクタイ: タプルの値をその参照に関連付けます。
これらの関数のいくつかをプログラムで使用して、それらが機能することを確認しましょう。
#include #include using namespace std; int main () { tuple tuple1; tuple tuple2; tuple1 = make_tuple(1, 2,3); tuple2 = make_tuple(1,'Hello', 'C++ Tuples'); int id; string str1, str2; tie(id, str1, str2) = tuple2; cout << id <<' '<< str1 <<' '<< str2; return 0; }
出力:
1こんにちはC ++タプル
タプルを示す上記のコードでは、2つのタプルを作成します。最初のタプルtuple1は、3つの整数値で構成されます。 2番目のタプル(tuple2)は、1つの整数値と2つの文字列値で構成されます。
次に、「make_tuple」関数を使用して両方のタプルに値を割り当てます。次に、「tie」関数呼び出しを使用して、tuple2の値をidと2つの文字列に結び付けるか割り当てます。
最後に、これらの値を出力します。出力には、idに割り当てたtuple2の値と2つの文字列が表示されます。
結論
したがって、このチュートリアルでは、STLで使用される文字列、ペア、およびタプルについて簡単に説明しました。文字列の操作は一般的なC ++に似ていますが、さらに、これらの文字列に対してイテレータを操作することもできます。
ペアおよびタプル構造は、STLコンテナー、特に連想コンテナーをプログラミングするときに便利です。
次のチュートリアルでは、STLを使用した実際のSTLプログラミングにジャンプする前に、アルゴリズムとイテレーターについて詳しく学習します。
=> すべてのC ++トレーニングシリーズを見るには、ここにアクセスしてください。
推奨読書