ベクトルのサイズは、C ++のさまざまな組み込み関数を使用して縮小できます。 pop_back()関数はその1つです。これは、ベクトルの最後の要素を後ろから削除し、ベクトルのサイズを1つ減らすために使用されます。ただし、ベクトルの最後の要素は、erase()関数のように永続的に削除されるわけではありません。このチュートリアルでは、この関数のさまざまな使用法について説明しました。
構文:
ベクター:::pop_back(()。;この関数には引数がなく、何も返しません。
前提条件:
このチュートリアルの例を確認する前に、g ++コンパイラがシステムにインストールされているかどうかを確認する必要があります。 Visual Studio Codeを使用している場合は、必要な拡張機能をインストールして、C ++ソースコードをコンパイルして実行可能コードを作成します。ここでは、Visual StudioCodeアプリケーションを使用してC ++コードをコンパイルおよび実行しています。 pop_back()関数を使用してベクトルのサイズを縮小する方法は、このチュートリアルの次の部分に示されています。
例-1:ベクトルから複数の要素を削除する
次のコードを使用してC ++ファイルを作成し、pop_back()関数を使用してベクターのサイズを縮小することにより、ベクターコンテナーから2つの要素を削除します。 5つの文字列値のベクトルがコードで宣言されています。ここでは、pop_back()関数を2回呼び出して、ベクトルから最後の2つの要素を一時的に削除し、ベクトルのサイズを2つ減らしています。ベクトルのコンテンツは、pop_back()関数を使用する前後に2回出力されています。
//必要なライブラリを含める
#含む
#含む
を使用して 名前空間時間;
int主要(()。 {{
//文字列値のベクトルを宣言します
ベクター<ストリング>>フラワーズ= {{'ローズ'、「Lity」、'マリーゴールド'、'チューリップ'、「WaterLiiy」};
費用 << 'ベクトルの値:NS';
//ループを使用してベクトルを反復し、値を出力します
にとって((int私= 0;私<フラワーズ。サイズ(()。; ++私)。
費用 <<フラワーズ[私] << '';
費用 << 'NS';
//最後の2つの値をベクトルから削除します
フラワーズ。pop_back(()。;
フラワーズ。pop_back(()。;
費用 << 'NS削除後のベクトルの値:NS';
//ループを使用してベクトルを反復し、値を出力します
にとって((int私= 0;私<フラワーズ。サイズ(()。; ++私)。
費用 <<フラワーズ[私] << '';
費用 << 'NS';
戻る 0;
}
出力:
上記のコードを実行すると、次の出力が表示されます。
例-2:別のベクトルから新しいベクトルを作成する
次のコードを使用してC ++ファイルを作成し、pop_back()関数を使用して要素を削除することにより、特定の値を別のベクトルから空のベクトルに挿入します。 8つの整数のベクトルと整数型の空のベクトルがコードで宣言されています。 「while」ループは、最初のベクトルの各要素を反復し、数値が2で割り切れる場合は、その要素を新しいベクトルに挿入するために使用されています。すべての偶数の合計もここで計算されています。最初のベクトルの各要素は、ループの終了条件に到達するために、ループの各反復でpop_back()関数によって削除されます。
//必要なライブラリを含める
#含む
#含む
を使用して 名前空間時間;
int主要(()。
{{
//整数データのベクトルを宣言します
ベクター<int>>intVector{{ 5、9、4、7、2、8、1、3 };
//空のベクトルを宣言します
ベクター<int>>newVector;
費用 << '元のベクトルの値:NS';
//ループを使用してベクトルを反復し、値を出力します
にとって((int私= 0;私<intVector。サイズ(()。; ++私)。
費用 <<intVector[私] << '';
費用 << 'NS';
//結果を初期化します
int結果= 0;
//ベクトルが空になるまでループを繰り返します
その間((!intVector。空の(()。)。
{{
/ *
newVectorに挿入する偶数を見つけます
偶数の合計を計算します
* /
もしも ((intVector。戻る(()。 % 2 == 0)。
{{
結果+=intVector。戻る(()。;
newVector。push_back((intVector。戻る(()。)。;
}
// intVactorの末尾から要素を削除します
intVector。pop_back(()。;
}
費用 << '新しいベクトルの値:NS';
//ループを使用してベクトルを反復し、値を出力します
にとって((int私= 0;私<newVector。サイズ(()。; ++私)。
費用 <<newVector[私] << '';
費用 << 'NS';
費用 << 'すべての偶数の合計:' <<結果<< 'NS';
戻る 0;
}
出力:
上記のコードを実行すると、次の出力が表示されます。最初のベクトルには3つの偶数がありました。 8、2、4があります。
例-3:ベクトルの最後の要素が削除されているかどうかを確認します
pop_back()は要素をベクトルから永続的に削除するのではなく、ベクトルのサイズのみを縮小することによって要素を削除することは前述しました。したがって、削除された要素は、ベクトルのサイズが大きくなり、要素が別の要素に置き換えられるまで、同じ位置に留まります。次のコードを使用してC ++ファイルを作成し、pop_back()関数によって削除された要素が存在するかどうかを確認します。元のベクトルの最後の位置は、pop_back()関数を使用する前後に出力されています。
#含む#含む
を使用して 名前空間時間;
int主要(()。
{{
//整数データのベクトルを宣言します
ベクター<int>>intVector{{ 54、19、46、72、22、83、10、53 };
//空のベクトルを宣言します
ベクター<int>>newVector;
//整数変数を宣言します
int長さ;
//ベクトルのサイズに基づいて最後の要素を印刷します
長さ=intVector。サイズ(()。;
費用 << 'ベクトルの現在のサイズ:' <<長さ<< 'NS';
費用 << '削除前のベクトルの最後の値:' <<intVector[長さ-1] << 'NS';
//ベクトルの末尾から要素を削除します
intVector。pop_back(()。;
//削除後のベクトルのサイズに基づいて最後の要素を印刷します
長さ=intVector。サイズ(()。;
費用 << 'ベクトルの現在のサイズ:' <<長さ<< 'NS';
費用 << '削除後のベクトルの最後の値:' <<intVector[長さ] << 'NS';
戻る 0;
}
出力:
上記のコードを実行すると、次の出力が表示されます。出力は、ベクトルのサイズが1減少したことを示していますが、元のベクトルの最後の位置の要素はまだ存在しています。
結論:
このチュートリアルでは、簡単な例を使用して、pop_back()関数の3つの異なる使用法について説明しました。このチュートリアルの例を練習した後、この機能を使用する主な目的が読者に明らかになります。