Τα διανύσματα C++ αποτελούν μέρος του STL (Standard Template Library). Η STL είναι μία από τις πολλές βιβλιοθήκες που είναι διαθέσιμες για C++ που ενισχύουν την αποτελεσματικότητα, την ευελιξία και την απόδοση των εφαρμογών. Τα διανύσματα είναι πολύ χρήσιμα και ζωτικής σημασίας για όποιον θέλει να γίνει γνώστης της C++.

Τα διανύσματα C++ είναι ουσιαστικά κοντέινερ που μπορείτε να χρησιμοποιήσετε για την αποθήκευση δεδομένων. Καθιστούν την εργασία με πίνακες καθαρή και γρήγορη, επομένως το να γνωρίζετε πώς να χρησιμοποιείτε διανύσματα C++ είναι πολύτιμη δεξιότητα, εάν θέλετε να αναπτύξετε μια εφαρμογή C++. Διαβάστε παρακάτω καθώς συζητάμε όλα όσα πρέπει να γνωρίζετε για τα διανύσματα C++.

Τι είναι τα διανύσματα C++;

Τα διανύσματα C++ είναι δοχεία ακολουθιών που αποτελούν βασικό στοιχείο της Βιβλιοθήκης Τυποποιημένων Προτύπων. Τα διανύσματα αντιπροσωπεύουν πίνακες που μπορούν να αλλάξουν δυναμικά το μέγεθος κατά τη διάρκεια του χρόνου εκτέλεσης, εάν απαιτείται.

Σε αντίθεση με τους παραδοσιακούς πίνακες, δεν χρειάζεται να διαχειριστείτε ρητά την κατανομή μνήμης ενός διανύσματος. Το κοντέινερ του διανύσματος διαχειρίζεται αυτόματα τη μνήμη του. Μπορείτε να σκεφτείτε τα διανύσματα C++ ως έναν δυναμικό πίνακα που προσαρμόζεται μετά την προσθήκη ή την αφαίρεση ενός στοιχείου.

instagram viewer

Επιπλέον, ένα διάνυσμα τακτοποιεί τα στοιχεία του συνεχόμενα. Αυτό σημαίνει ότι μπορείτε να έχετε εύκολη πρόσβαση σε αυτά χρησιμοποιώντας δείκτες ή επαναλήπτες.

Πώς λειτουργεί το std:: vector

Τώρα που είστε εξοικειωμένοι με το τι είναι τα διανύσματα C++, πρέπει να κατανοήσετε πώς λειτουργούν πριν αρχίσετε να τα χρησιμοποιείτε στον κώδικά σας.

Σχετίζεται με: Η C++ εξακολουθεί να είναι σχετική το 2021;

Όταν χρησιμοποιείτε ένα διάνυσμα C++, θα εισάγει νέα στοιχεία στο τέλος σε διαφορικό χρόνο. Αυτό συμβαίνει επειδή, σε ορισμένες περιπτώσεις, το διάνυσμα θα πρέπει να επεκταθεί για να φιλοξενήσει το νέο στοιχείο. Ομοίως, εάν επρόκειτο να εξαγάγετε το τελευταίο στοιχείο ενός διανύσματος, θα χρειαζόταν σταθερός χρόνος που το διάνυσμα δεν χρειάζεται να προσαρμόσει το μήκος (μέγεθος) του.

Για να χρησιμοποιήσουμε αποτελεσματικά διανύσματα, χρησιμοποιούμε επαναλήπτες και ενσωματωμένες συναρτήσεις. Οι επαναλήπτες είναι δείκτες που χρησιμοποιούνται παράλληλα με διανύσματα C++. Απλοποιούν τη διέλευση του διανυσματικού κοντέινερ. Υπάρχουν πολλές διαφορετικές διανυσματικές συναρτήσεις και θα εξετάσουμε μερικές από τις σημαντικές στην επόμενη ενότητα.

C++ διανυσματικές συναρτήσεις

Ας δούμε μερικές συναρτήσεις επαναλήπτη και κοντέινερ STL που χρησιμοποιούνται συνήθως με διανύσματα C++:

  1. να αρχίσει() επιστρέφει έναν δείκτη επαναλήπτη που δείχνει στο πρώτο στοιχείο του διανύσματος.
  2. τέλος() επιστρέφει έναν δείκτη επαναλήπτη στη θέση μετά το τέλος του διανυσματικού κοντέινερ.
  3. rbegin() είναι σαν να αρχίσει(), αλλά σας δίνει έναν αντίστροφο επαναλήπτη που δείχνει το τελευταίο στοιχείο στο διάνυσμα.
  4. Μέγεθος() επιστρέφει έναν αριθμό στοιχείων που είναι αποθηκευμένα στο διάνυσμα.
  5. max_size() επιστρέφει τη μέγιστη χωρητικότητα στοιχείων που μπορεί να φιλοξενήσει το διανυσματικό δοχείο.
  6. αλλαγή μεγέθους (x) θα αλλάξει το μέγεθος του διανυσματικού κοντέινερ ώστε να μπορεί να χωρέσει Χ στοιχεία.
  7. αδειάζω() επιστρέφει true αν το διανυσματικό κοντέινερ δεν έχει στοιχεία.
  8. push_back() εισάγει ένα νέο στοιχείο στο διάνυσμα στο τέλος.
  9. pop_back() εξάγει ένα στοιχείο από το τέλος του διανυσματικού δοχείου.
  10. εισάγετε() σας επιτρέπει να προσθέσετε ένα στοιχείο στο διάνυσμα σε μια καθορισμένη θέση.

Παράδειγμα διανυσμάτων C++

Η χρήση διανυσμάτων στη C++ κάνει την κωδικοποίηση με πίνακες ευέλικτη και γρήγορη. Ας ρίξουμε μια ματιά σε μερικά δείγματα κώδικα που χρησιμοποιεί διανύσματα C++.

#περιλαμβάνω
#περιλαμβάνω
χρησιμοποιώντας namespace std?
void main()
{
διάνυσμα arr?
// push_back για να προσθέσουμε στοιχεία στο τέλος του κοντέινερ μας
arr.push_back (10);
arr.push_back (5);
arr.push_back (20);
// το διάνυσμα τώρα περιέχει [10,5,20]
// χρησιμοποιήστε το start() iterator για να διασχίσετε το κοντέινερ μέχρι τον δείκτη end().
cout << "begin() and end() iterators: ";
for (auto j = arr.begin(); j != arr.end(); j++)
{
cout << *j << ' ';
}
// Αναμενόμενη έξοδος: 10 5 20
// rbegin() και rend() που χρησιμοποιούνται για την αντιστροφή του διανυσματικού κοντέινερ
cout << "rbegin() and rend() iterators: ";
for (auto j = arr.rbegin(); j != arr.rend(); j++)
{
cout << *j << ' ';
}
// Αναμενόμενη έξοδος: 20 5 10
cout << "Το μέγεθος του πίνακα είναι: " << arr.size() << endl;
// Αναμενόμενη έξοδος: Το μέγεθος του πίνακα είναι: 3
// Αλλάξτε το μέγεθος του πίνακα ώστε να έχει μόνο 2 στοιχεία
arr.size (2);
cout << "Το μέγεθος του πίνακα είναι: " << arr.size() << endl;
// Αναμενόμενη έξοδος: Το μέγεθος του πίνακα είναι: 2
cout << "MaxSize(): " << arr.max_size() << endl;
cout << "Διάνυσμα άδειο; " << arr.empty() << endl;
// pop_back τελευταίο στοιχείο
arr.pop_back();
// εισάγετε το 5 στην αρχή του πίνακα
arr.insert (arr.begin(), 5);
}

Σχετίζεται με: Πώς να μάθετε προγραμματισμό C++

Χρήση διανυσμάτων στη C++

Τα διανύσματα C++ είναι ευέλικτα και ισχυρά, γι' αυτό και αποτελούν βασικό χαρακτηριστικό για κάθε προγραμματιστή της C++ εκεί έξω. Η STL είναι μια σημαντική βιβλιοθήκη C++ και η λεπτομερής εξερεύνηση της μπορεί να σας βοηθήσει να δημιουργήσετε καλύτερες εφαρμογές.

Ένας οδηγός για αρχάριους για την τυπική βιβλιοθήκη προτύπων στη C++

Θέλετε να κατανοήσετε καλύτερα την C++ με την Τυπική βιβλιοθήκη προτύπων; Πατήστε εδώ τα βιβλία.

Διαβάστε Επόμενο

ΜερίδιοΤιτίβισμαΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ
Σχετικά θέματα
  • Προγραμματισμός
  • Προγραμματισμός
  • Αντικειμενοστραφής προγραμματισμός
Σχετικά με τον Συγγραφέα
Μ. Fahad Khawaja (76 Δημοσιεύτηκαν Άρθρα)

Ο Fahad είναι συγγραφέας στο MakeUseOf και αυτή τη στιγμή ειδικεύεται στην Επιστήμη των Υπολογιστών. Ως άπληστος συγγραφέας τεχνολογίας φροντίζει να παραμένει ενημερωμένος με την τελευταία λέξη της τεχνολογίας. Βρίσκει τον εαυτό του να ενδιαφέρεται ιδιαίτερα για το ποδόσφαιρο και την τεχνολογία.

Περισσότερα από τον Μ. Fahad Khawaja

Εγγραφείτε στο ενημερωτικό μας δελτίο

Εγγραφείτε στο ενημερωτικό μας δελτίο για συμβουλές τεχνολογίας, κριτικές, δωρεάν ebook και αποκλειστικές προσφορές!

Κάντε κλικ εδώ για να εγγραφείτε