C++のstd::stackの使い方を解説する

C言語でデータ構造の1つである「スタック」を表現するためには、ポインタとか配列とかで自分で実装する必要があった。

しかし、C++ではstd::stackを使うことで簡単にスタックを使う事ができる。

std::stackの使い方

std::stackを使うためには、自分で定義したクラスと同じようにstd::stackクラスを使えば良い。説明するよりも、以下のコードを見た方が理解が早いと思う。

#include <iostream>
#include <stack>

int main() {
 std::stack<int> st;
 st.push(3);
 st.push(4);

 std::cout << st.top() << std::endl;  // 4

 st.pop(); // 4を削除

 std::cout << st.top() << std::endl; // 3

return 0;
}

上のコードでは、std::stack<int> st;でスタックオブジェクトを定義している。また、<int>のようにすることで、そのスタックの型を指定することができる。

スタックはpush()メンバ関数を使うことで値を格納でき、pop()で一番上の値を削除することができる。また、現在一番上にある値を取り出したい場合は、top()を使えば良い。

他にも色々な関数があるので、以下のリファレンスをチェックすると良い。

参考:標準ライブラリヘッダ <stack> - cppreference.com