System::Collections::Generic::Stack sınıfı

Stack class

Stack class forward declaration.

template<typename T>class Stack : public System::Collections::Generic::IEnumerable<T>
ParametreAçıklama
TEleman tipi.

Nested classes

Yöntemler

YöntemAçıklama
AddRange(IEnumerablePtr)Öğeleri yığına ekler.
virtual Clear()Yığından tüm öğeleri siler.
virtual Contains(const T&) constBelirli bir öğenin konteynerde bulunup bulunmadığını kontrol eder; karşılaştırma için == operatörünü kullanır.
data()Dahili veri yapısı erişicisi.
data() constDahili veri yapısı erişicisi.
virtual get_Count() constYığındaki öğe sayısını alır.
GetEnumerator() overrideMevcut yığını yinelemek için bir enumerator alır.
Peek()Yığının tepesindeki öğeyi alır, ancak yığında tutar.
Pop()Yığının tepesindeki öğeyi alır.
Push(const T&)Yığının tepesindeki öğeyi ekler.
Stack()Boş bir yığın oluşturur.
Stack(int)Boş bir yığın oluşturur.
Stack(IEnumerablePtr)Kopya yapıcı.
virtual ToArray()Yığını diziye dönüştürür.
virtualizeBeginConstIterator() const overrideMevcut kapsayıcı için begin const yineleyicisinin uygulamasını alır.
virtualizeBeginIterator() overrideMevcut kapsayıcı için begin yineleyicisinin uygulamasını alır.
virtualizeEndConstIterator() const overrideMevcut kapsayıcı için end const yineleyicisinin uygulamasını alır.
virtualizeEndIterator() overrideMevcut kapsayıcı için end yineleyicisinin uygulamasını alır.

Typedefs

TypedefAçıklama
IEnumerablePtrAynı türde öğeler içeren koleksiyon.
IEnumeratorPtrEnumerator türü.
stack_tRTTI bilgisi.
ValueTypeDeğer türü.

Açıklamalar

Stack class wrapping std::list. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.

#include <system/collections/stack.h>
#include <system/smart_ptr.h>

using namespace System;
using namespace System::Collections::Generic;

void PrintItems(const SmartPtr<IEnumerable<int>> &stack)
{
  for (const auto item: stack)
  {
    std::cout << item << ' ';
  }
  std::cout << std::endl;
}

int main()
{
  // Stack-class örneğini oluştur.
  auto stack = MakeObject<Stack<int>>();

  // Yığını doldur.
  stack->Push(1);
  stack->Push(2);
  stack->Push(3);

  // Yığının son öğesini yazdır. Peek yöntemi, yığından bir öğeyi kaldırmaz.
  std::cout << stack->Peek() << std::endl;
  PrintItems(stack);

  // Yığının son öğesini yazdır. Pop yöntemi, yığından bir öğeyi kaldırır.
  std::cout << stack->Pop() << std::endl;
  PrintItems(stack);

  return 0;
}
/*
This code example produces the following output:
3
3 2 1
3
2 1
*/

Ayrıca Bakınız