Κλάση System::Collections::Generic::Stack

Stack class

Stack class forward declaration.

template<typename T>class Stack : public System::Collections::Generic::IEnumerable<T>
ParameterΠεριγραφή
TΤύπος στοιχείου.

Nested classes

Μέθοδοι

ΜέθοδοςΠεριγραφή
AddRange(IEnumerablePtr)Τοποθετεί στοιχεία στη στοίβα.
virtual Clear()Διαγράφει όλα τα στοιχεία από τη στοίβα.
virtual Contains(const T&) constΕλέγχει αν ένα συγκεκριμένο στοιχείο υπάρχει στο δοχείο· χρησιμοποιεί τον τελεστή == για σύγκριση.
data()Πρόσβαση σε εσωτερική δομή δεδομένων.
data() constΠρόσβαση σε εσωτερική δομή δεδομένων.
virtual get_Count() constΛαμβάνει τον αριθμό των στοιχείων στη στοίβα.
GetEnumerator() overrideΛαμβάνει τον απαριθμητή για επανάληψη μέσω της τρέχουσας στοίβας.
Peek()Λαμβάνει το στοιείο από την κορυφή της στοίβας, αλλά το διατηρεί στη στοίβα.
Pop()Λαμβάνει το στοιχείο από την κορυφή της στοίβας.
Push(const T&)Τοποθετεί το στοιχείο στην κορυφή της στοίβας.
Stack()Δημιουργεί κενή στοίβα.
Stack(int)Δημιουργεί κενή στοίβα.
Stack(IEnumerablePtr)Κατασκευαστής αντιγραφής.
virtual ToArray()Μετατρέπει τη στοίβα σε πίνακα.
virtualizeBeginConstIterator() const overrideΛαμβάνει την υλοποίηση του begin const iterator για το τρέχον κοντέινερ.
virtualizeBeginIterator() overrideΛαμβάνει την υλοποίηση του begin iterator για το τρέχον κοντέινερ.
virtualizeEndConstIterator() const overrideΛαμβάνει την υλοποίηση του end const iterator για το τρέχον κοντέινερ.
virtualizeEndIterator() overrideΛαμβάνει την υλοποίηση του end iterator για το τρέχον κοντέινερ.

Typedefs

TypedefΠεριγραφή
IEnumerablePtrΣυλλογή που περιέχει στοιχεία του ίδιου τύπου.
IEnumeratorPtrEnumerator τύπος.
stack_tΠληροφορίες RTTI.
ValueTypeΤύπος τιμής.

Παρατηρήσεις

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.
  auto stack = MakeObject<Stack<int>>();

  // Γεμίστε τη στοίβα.
  stack->Push(1);
  stack->Push(2);
  stack->Push(3);

  // Εκτυπώστε το τελευταίο στοιχείο της στοίβας. Η μέθοδος Peek δεν αφαιρεί στοιχείο από τη στοίβα.
  std::cout << stack->Peek() << std::endl;
  PrintItems(stack);

  // Εκτυπώστε το τελευταίο στοιχείο της στοίβας. Η μέθοδος Pop αφαιρεί ένα στοιχείο από τη στοίβα.
  std::cout << stack->Pop() << std::endl;
  PrintItems(stack);

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

Δείτε επίσης