次の方法で共有


stack::size (STL Samples)

Visual C++ で スタック :: サイズ の標準テンプレート ライブラリ関数を使用する方法に (STL) ついて説明します。

template<class _TYPE, class _C, class _A>
   size_type stack::size( ) const;

解説

[!メモ]

プロトタイプのクラスやパラメーター名はヘッダー ファイルのバージョンと一致しない。ただし読みやすさが向上するように変更されました。

stack::size 関数の戻り値はスタックの要素の数。これは空のスタックしてこの関数を呼び出すと; こともできます。これは値 0 を返します。

使用例

// StackSize.cpp
// compile with: /EHsc
// Illustrates how to use the size function to determine
// the number of elements on the stack.
//
// Functions:
//
//    size :  returns the number of elements in the stack.
//////////////////////////////////////////////////////////////////////

#pragma warning(disable:4786)
#include <stack>
#include <string>
#include <iostream>

using namespace std ;

typedef stack<string> STACK_STRING;

int main()
{
   STACK_STRING stack1;

   // Check the size of an empty stack. Should return 0.
   cout << "stack1.size() equals " << stack1.size() << endl;

   // Add item "Hello" to Stack1.
   cout << "stack1.push('Hello')" << endl;
   stack1.push("Hello");

   // Add item "This is the second element" to Stack1.
   cout << "stack1.push('This is the second element')" << endl;
   stack1.push("This is the second element");

   // Check the size of Stack1. Should return 2.
   cout << "stack1.size() equals " << stack1.size() << endl << endl;

   // Add item "Third element" to Stack1.
   cout << "stack1.push('Third element')" << endl;
   stack1.push("Third element");

   // Check the size of Stack1. Should return 3.
   cout << "stack1.size() equals " << stack1.size() << endl << endl;

   // Pop "Third element".
   cout << "stack1.pop()" << endl;
   stack1.pop();

   // Pop "This is the second element".
   cout << "stack1.pop()" << endl;
   stack1.pop();

   // Check the size of Stack1 again. Should return 1.
   cout << "stack1.size() equals " << stack1.size()  << endl << endl;

   // Pop "Hello".
   cout << "stack1.pop()" << endl;
   stack1.pop();

   // Check the size of Stack1. Should return 0.
   cout << "stack1.size() equals " << stack1.size() << endl;
}

出力

stack1.size() equals 0
stack1.push('Hello')
stack1.push('This is the second element')
stack1.size() equals 2

stack1.push('Third element')
stack1.size() equals 3

stack1.pop()
stack1.pop()
stack1.size() equals 1

stack1.pop()
stack1.size() equals 0

必要条件

ヘッダー : <stack>

参照

概念

標準テンプレート ライブラリのサンプル