מה זה std::array ב-C++?

Mh Zh Std Array B C



C++ מספק מגוון של מבני נתונים לאחסון ולתפעל אוספים של אלמנטים. מבנה נתונים אחד כזה הוא std:: מערך , שהוצג בספרייה הסטנדרטית C++11. באמצעות מאמר זה תלמדו על std::array, התחביר שלו, דוגמה ויתרונותיו ב-C++.

מה זה std::array ב-C++

ב-C++, מיכל המכונה std:: מערך משמש כדי להחזיק מספר קבוע של אותם פריטים מסוג נתונים. ה std:: מערך מיכל מספק אלטרנטיבה למערכים בסגנון C מכיוון שהוא בטוח יותר, קל יותר לשימוש ובעל ביצועים טובים יותר.

המחלקה, שהיא מרכיב מהספרייה הסטנדרטית של C++, מציעה גישה מעשית ויעילה לאחסון וגישה לאלמנטים עם אותו סוג נתונים. בגלל הגודל של std:: מערך ידוע בזמן הידור, תקורה של זמן הריצה של קנה מידה דינמי מצטמצמת. גודל המערך נקבע לפי פרמטר התבנית, והפריטים של std:: מערך נשמרים בזיכרון רציף.







הכרזה std::array ב-C++

אתה יכול להצהיר std:: מערך כמו:



סטד :: מַעֲרָך < int , 4 > arr ;

התחביר לעיל מכריז על מערך בשם arr בגודל קבוע של 4 אלמנטים, כאשר כל אלמנט הוא מסוג int.



דוגמה של std::array

דוגמה 1: להלן דוגמה פשוטה לראשית א std:: מערך ב-C++:





#include <מערך>

#include

int רָאשִׁי ( ) {

סטד :: מַעֲרָך < int , 4 > arr = { 4 , 6 , 2 , 1 } ;

ל ( int אני = 0 ; אני < arr. גודל ( ) ; אני ++ ) {

סטד :: cout << arr [ אני ] << '' ;

}

סטד :: cout << סטד :: endl ;

לַחֲזוֹר 0 ;

}

תְפוּקָה



דוגמה 2: אתה יכול גם להשתמש std:: מערך כדי לגשת לאלמנטים במערך. הקוד ניתן להלן:

#include <מערך>

#include

int רָאשִׁי ( ) {

סטד :: מַעֲרָך < int , 3 > arr = { 1 , 2 , 3 } ;

סטד :: cout << 'האלמנט הראשון הוא' << arr [ 0 ] << סטד :: endl ;

סטד :: cout << 'האלמנט השני הוא' << arr. בְּ- ( 1 ) << סטד :: endl ;

סטד :: cout << 'האלמנט השלישי הוא' << arr. חזור ( ) << סטד :: endl ;

לַחֲזוֹר 0 ;

}

תְפוּקָה

דוגמה 3: הדוגמה הבאה מציגה הדפסת אלמנט ממערך במיקום ספציפי באמצעות std:: מערך ב-C++.

#include

#include <מערך>

int רָאשִׁי ( )

{

סטד :: מַעֲרָך < int , 4 > arr = { 4 , 6 , 2 , 1 } ;

סטד :: cout << arr [ 3 ] << סטד :: endl ;

לַחֲזוֹר 0 ;

}

תְפוּקָה

היתרונות של std::array ב-C++

שלא כמו מערכים מסורתיים ב-C++, std:: מערך מציע מגוון תכונות.

1: תחביר אינטואיטיבי

std:: מערך בעל תחביר אינטואיטיבי יותר לאתחול וניתן לאתחל אותו באמצעות רשימת אתחול. זה מספק דרך תמציתית וקריאה יותר לאתחל את המערך.

2: עבר כטיעונים

std:: מערך ניתן להעביר כארגומנטים לפונקציות, ואפשר להחזיר אותם גם מפונקציות.

3: ניהול זיכרון

אחד היתרונות המרכזיים בשימוש std:: מערך הוא שהוא מספק ניהול זיכרון קל ויעיל. המשמעות היא שאין צורך בהקצאה ידנית של זיכרון או ביטול הקצאה.

4: בדיקת גבולות אוטומטית

העובדה ש std:: מערך מציע בדיקת גבולות אוטומטית על פני מערכים בסגנון C הוא אחד היתרונות המרכזיים שלו. המשמעות היא שאם התוכנית תנסה לגשת לרכיב מחוץ לטווח המוגדר של המערך, המהדר יפיק שגיאה. הצפת מאגר, תקלות פילוח ודליפות זיכרון הן רק חלק מבעיות התכנות השכיחות שבדיקה כרוכה יכולה לסייע לך להימנע מהן.

5: מספק פונקציות שימושיות

std:: מערך מציע מספר פונקציות שימושיות, כגון איטרטורים, size(), front(), back(), fill() ו-at(), וזה יתרון נוסף. פונקציות אלו מקלות על מניפולציה של רכיבי המערך ללא צורך בקוד מורכב ונוטה לשגיאות. איטרטורים, למשל, מקלים על הניווט בין רכיבי המערך, ומתודה fill() מאפשרת לך לספק ערך יחיד לכל ערכת האלמנטים של המערך.

סיכום

ב-C++, ה std:: מערך class מציעה דרך מעשית לעבוד עם מערכים בגודל קבוע, יחד עם כמה פונקציות שימושיות והיתרונות של בטיחות סוג וטווח. לאתחול ובדיקת גבולות, הוא מספק תחביר ברור ומובן יותר, שיכול לעזור להימנע מטעויות תכנות טיפוסיות רבות. ברוב המצבים שבהם יש להשתמש במערכים בגודל קבוע, מומלץ להשתמש ב-std::array מכיוון שהוא מספק שיטה עדכנית ובטוחה יותר לתפעל אותם.