- הִיסטוֹרִיָה
- תכנון ויישום
- שיחרור ראשוני
- ג 2.0
- גרסה סטנדרטית
- עדכונים אחרונים
- תכונות C ++
- שפה פופולרית
- מונחה עצמים
- נוֹהָלִי
- תכנות מובנית
- ניהול זיכרון
- מצביעים
- שפה מורכבת
- סוגי נתונים ב- C ++
- - ראשוני
- בינוני
- לָצוּף
- לְהַשְׁחִיר
- לְהַכפִּיל
- ריק (Null)
- בול
- - משני
- סידורים
- מצביעים
- מאפיינים
- - משתמש הוגדר
- מבנים
- הִתאַחֲדוּת
- בשביל מה מיועד C ++? יישומים
- יישומים
- מערכות הפעלה
- מהדרים
- משחקים
- דפדפני אינטרנט
- האינטרנט של הדברים
- מערכות ענן / מבוזרות
- גישה למאגרי מידע
- דוגמאות
- ספריות
- יתרון
- מְהִירוּת
- קרוב לחומרה
- יְעִילוּת
- חופש לבחור סגנונות תכנות
- יכולת לפרק בעיות מורכבות
- יכולת לאתר שגיאות לפני ביצוע
- חסרונות
- שימוש במצבים
- סוגיות אבטחה
- אין אספן זבל
- היעדר חוט
- תוכניות מורכבות
- יכול להיות מורכב
- הפניות
C ++ היא גרסה משופרת ומורחבת של שפת התכנות C, שפותחה על ידי Stroustrup בשנת 1979 כחלק מפרויקט הדוקטורט שלו. סטרוסטרופ עיצב את מה שכינה "C עם שיעורים", שלימים נקרא C ++, מכיוון שהוא האמין שלשפות תכנות קיימות יש מגבלות ואינן הטובות ביותר לפרויקטים רחבי היקף.
זו הסיבה שהוא השתמש ב- C כדי לפתח את שפת התכנות שחיפש, מכיוון ש- C הייתה שפה יעילה ומהירה להפעלה.
מקור: pixabay.com
C ++ היא שפת תכנות לשימוש כללי המעודנת ועוצמתית. שפה מורכבת זו בצורה חופשית מתאימה ביותר למתכנתים בינוניים.
עם זאת, מי שרוצה להתחיל לתכנת עם C ++ יגלה שהם יכולים ללמוד במהירות מושגי תכנות שייקחו אותם דרך ארוכה בקריירה שלהם.
זה תואם לתכנות מונחה עצמים, לוקח את כל המאפיינים שלה. מושגים אלה הופכים את שפת C ++ לשונה והיא משמשת בעיקר לפיתוח יישומים בצורה קלה וממושגת.
הִיסטוֹרִיָה
תכנון ויישום
C ++ תוכנן ויושם בשנת 1980 על ידי Bjarne Stroustrup במעבדות AT&T Bell, תוך מיזוג יפה בין המושגים של תכנות פרוצדוראלית ומכוונת עצמים.
בשפת C המפעיל ++ משמש להגדלת משתנה ובכך מבטא את הרעיון של סטרוסטרופ ש- C ++ יהיה הדור הבא של שפת ה- C.
שיחרור ראשוני
C ++ שוחרר בשנת 1985 לראשונה בשוק. בשנת 1986 פרסם סטרוסטרופ את ספרו המפורסם בשם "שפת התכנות C ++", והפך למדריך העזר לשפה.
ג 2.0
המהדורה החשובה ביותר של C ++ הייתה C 2.0 בשנת 1989, שתועדה על ידי אליס וסטרוסטרופ במדריך ההפניות C ++. זו הייתה שפה מוכוונת לחלוטין.
גרסה סטנדרטית
הגרסה הסטנדרטית הראשונה, C ++ 98, יצאה בשנת 1998. תקן בינלאומי זה ל- C ++ פותח על ידי מכון התקנים האמריקני הלאומי (ANSI) וארגון התקנים הבינלאומי (ISO).
בשנת 2003 פורסם תקן C ++ 03 הבא מתוך כוונה לתקן שגיאות שזוהו ב- C ++ 98 ולהבטיח כי לשפה תהיה ניידות ועקביות גבוהה יותר.
עדכונים אחרונים
העדכון הגדול הבא לשפה הגיע בשנת 2011, והוא נקרא C ++ 11. נוספו מספר תכונות לשיפור ביצועי זמן הריצה שלה.
ואז שוחרר C ++ 14, שם בוצעו כמה שיפורים ותוקנו באגים של C ++ 11. הגרסה הבאה שיצאה בשנת 2017 הייתה C ++ 17, הכוללת מספר פיצ'רים חדשים וספריה סטנדרטית הרבה יותר רחבה.
תכונות C ++
שפה פופולרית
C ++ נמצא בשימוש נרחב על ידי מפתחים, בעיקר ביישומים. הוא מכיל את כל החלקים החשובים, כמו שפת ליבה המספקת את כל חסימות הפיתוח הנדרשות, כגון משתנים, סוגי נתונים, מילוליות וכו '.
זוהי שפת התכנות הרביעית הפופולרית ביותר, לפי מדד קהילת התכנות TIOBE.
השימושים ב- C ++ הופכים אותה לשפה הנוחה ביותר, בשל מאפייניה. זוהי שפת ההפעלה הראשונה עבור כל מפתח שמעוניין לעבוד עם שפות תכנות. קל ללמוד שכן מדובר בשפה מבוססת מושגים גרידא.
התחביר שלו פשוט מאוד, מה שמקל על הכתיבה וניתן לשכפל בקלות שגיאות. לפני השימוש בשפה אחרת, המתכנתים העדיפו ללמוד תחילה C ++ ואז להשתמש בשפות אחרות.
עם זאת, רוב המפתחים מנסים להישאר עם C ++ בגלל המגוון הרחב של השימוש והתאימות שלה עם פלטפורמות ותוכנות מרובות.
מונחה עצמים
השדרוג העיקרי מ- C ל- C ++ הוא תכנות מונחה עצמים. משמעות הדבר היא שהמוקד הוא על "העצמים" והטיפול סביב אובייקטים אלה.
זה עוקב אחר המושגים פולימורפיזם, ירושה, אנקפסולציה והפשטה, ומאפשר פיתוח ותחזוקה.
נוֹהָלִי
C ++ תומך במושג הפרוצדורות ותת-השערים, הסוגרים קטעי קוד בבלוקים שניתנים לשימוש חוזר, שניתן לכנותם לביצוע משימות אינדיבידואליות.
נהלים ותת-שמות ידועים כפונקציות ב- C ++. פונקציה יכולה לקחת אפס פרמטרים או יותר, ולהחזיר אפס או ערך.
תכנות מובנית
קוד C ++ הוא מודולרי, עם תמיכה בפונקציות, שיעורים ואובייקטים, המודולים מתאימים בחופשיות.
הצהרות בקרת הזרימה ב- C ++ דומות לאלה שנמצאות בשפות תכנות מובנות רבות אחרות. אלה הם אם-כן ליישום לוגיקת ההחלטות, ולמען זמן-מה, ולעשות-בזמן ליישום איטרציות או לולאות.
ניהול זיכרון
C ++ תומך בהקצאת זיכרון דינמית. כך תוכלו לשחרר את הזיכרון שהוקצה בכל עת.
מצביעים
הם משתנים המאחסנים את הכתובת של משתנה אחר. המצביע מצביע על מיקום הזיכרון של משתנה. C ++ תומך במצבים כדי לספק פתרונות לבעיות רבות הדורשות גישה למיקום הזיכרון.
שפה מורכבת
לפני שניתן יהיה לבצע אותה, יש לתרגם תוכנית C ++ להוראות המקוריות של מכונת היעד על ידי תוכנית הנקראת מהדר. ללא קומפילציה, שום תוכנית C ++ אינה יכולה להריץ. המהדר מהדר את תוכנית C ++ כך שניתן יהיה להפעיל אותה אחר כך.
סוגי נתונים ב- C ++
- ראשוני
בינוני
הוא משמש לאחסון מספרים שלמים. הזיכרון שהוא תופס תלוי במהדר (32 או 64 ביט). הוא תופס 4 בתים של זיכרון כאשר הוא עובד עם מהדר 32 סיביות.
לָצוּף
הוא משמש לאחסון שברים עד 7 ספרות עשרוניות. זה ידוע כסוג נקודה צפה אחת מדויקת. היא תופסת 4 בתים של זיכרון.
לְהַשְׁחִיר
הוא משמש לאחסון קבוצה של כל התווים. זה יכול לכלול אותיות האלף-בית, מספרים וגם תווים מיוחדים. היא תופסת 1 זיכרון בתים, והיא היחידה הניתנת לטיפול הקטן ביותר במכונה.
לְהַכפִּיל
משמש לאחסון שברים עד 15-16 ספרות עשרוניות. זה ידוע בדרך כלל כנקודה צפה עם דיוק כפול.
ריק (Null)
מציין ערך החזר אפס או ללא. משמש בדרך כלל להקצאת ערך ה- null בעת הכרזת פונקציה.
בול
סוג נתונים זה מתייחס לערך בוליאני או לוגי. זה יכול לקחת את הערך של אמת או כוזב.
- משני
סידורים
זוהי מערכת נתונים עם סוג נתונים זהה, אליו ניתן להגיע באמצעות שם משותף.
מצביעים
הם בעצם משתנים המשמשים לאחסון כתובת הזיכרון של משתנה אחר.
מאפיינים
זוהי קבוצת משפטים שמבצעים משימה ספציפית. הפונקציות הן ספריות מובנות או מוגדרות על ידי משתמש.
- משתמש הוגדר
מבנים
זהו סוג של נתונים בהם ניתן ליצור אוסף של סוגים שונים של נתונים באמצעות גישה לאובייקט.
הִתאַחֲדוּת
מספק את האפשרות לאחסן סוגים שונים של נתונים באותו מיקום זיכרון.
בשביל מה מיועד C ++? יישומים
יישומים
יישומים רבים במערכות אדובי מפותחים ב- C ++, כגון Illustrator, Photoshop, Adobe Premiere ו- Image Ready.
מערכות הפעלה
C ++ משמש בכל מערכות ההפעלה העיקריות, כמו לינוקס, חלונות ו- macOS, מכיוון שהיא שפת תכנות ברמה נמוכה.
מהדרים
רוב המהדרים נכתבים בשפה C ++. גם מהדרים שמשמשים להרכבת שפות אחרות, כגון C #, Java וכו '.
משחקים
זה משמש לביטול המורכבות של משחקי תלת מימד, ועוזר לייעל את המשאבים. בנוסף, זה תואם לאפשרות מרובת-משתתפים ברשתות.
דפדפני אינטרנט
זה מאפשר ביצוע וייצוג מהיר של גרפיקה, שהיא קריטית עבור המשתמשים הנוכחיים, הדורשים תוכן שיכול להופיע במהירות בדפדפני האינטרנט. C ++ שימש כדי להפוך את דפדפני האינטרנט ל- Google Chrome ול- Mozilla Firefox.
האינטרנט של הדברים
מספר מוצרי Internet of Things, כמו שעונים חכמים, מכוניות, מכונות כביסה, נתבים ומתגים, משתמשים ב- C ++ מכיוון שהם דורשים קוד קרוב ככל האפשר לחומרה.
מערכות ענן / מבוזרות
הוא משמש בענן במערכות אחסון ובמערכות מבוזרות, כאשר מערכות קבצים הניתנות להרחבה צריכות לעבוד מקרוב עם החומרה והתאמה עם מכונות שונות היא גם קריטית.
גישה למאגרי מידע
הוא משמש לפיתוח תוכנת מסד נתונים עם קוד פתוח. תוכנת ניהול מסד נתונים פופולרית מאוד המשמשת בארגונים, MySQL, כתובה ב- C ++ בזכות היתרונות שהיא מציעה.
ישנם יישומים אחרים המבוססים על גישה לתוכנת מסד נתונים, שהם Wikipedia, Yahoo, YouTube, Quora וכו '.
דוגמאות
תוכנית זו מקבלת מספר שלם חיובי מהמשתמש ומאחסן אותה במשתנה n. לאחר מכן מבוצעת לולאת for שבודקת אם המספר שהוזן מתחלק בצורה מושלמת על ידי io או לא.
לולאת for מתחילה בערך התחלתי של i השווה ל 2, מגדילה את הערך של i עם כל איטרציה. אם המספר שהזין המשתמש מתחלק בצורה מושלמת על ידי i, isPrime מוגדר כ- false והמספר לא יהיה מספר ראשוני.
עם זאת, אם המספר אינו מתחלק באופן מושלם על ידי i עד שתנאי הבדיקה i <= n / 2 הוא נכון, פירושו שהוא מתחלק רק ב- 1 ובאותו מספר. אז המספר הנתון הוא מספר ראשוני.
ספריות
למפתחים גישה לפונקציות מובנות רבות המסופקות בשפת C ++. זה חוסך זמן ומזרז את הפיתוח. חלק מקבצי הכותרת C ++ עם הפונקציות שלהם הם:
- iomanip: מכיל מטפלי זרימה שמעצבים את זרימת הנתונים.
- iostream: מכיל פונקציות קלט ופלט סטנדרטיות.
- cstdlib: מכיל את הפונקציה להמרת מספרים לטקסט ולהיפך,
- cmath: מכיל פונקציות של ספריית מתמטיקה, הקצאת זיכרון, מספרים אקראיים ופונקציות שימושיות אחרות.
- fstream: מכיל פונקציות המבצעות קלט ופלט של קבצים בדיסק.
- ctime: מכיל את הפונקציה להתמודדות עם השעה והתאריך.
- זיכרון: מכיל שיעורים ופונקציות המשמשות את הספרייה הרגילה C ++ להקצאת זיכרון.
יתרון
מְהִירוּת
מכיוון ש- C ++ היא גרסה מורחבת של C, שהיא שפת תכנות ברמה נמוכה, זוהי אחת השפות המהירות ביותר הקיימות. זה עושה את זה שימושי באזורים שבהם הביצועים הנדרשים הם קריטיים.
קרוב לחומרה
C ++ היא אחת משפות התכנות הקרובות ביותר לחומרה. זה יתרון מאוד באזורים שבהם התוכנה חייבת להיות בעלת קשר הדוק עם החומרה על מנת לבצע יעילות תמיכה ברמה נמוכה.
יְעִילוּת
ל- C ++ יש ספרייה של תבניות רגילות שניתן להשתמש בהן באופן נרחב בעת קידוד. ספריות אלה מספקות אלגוריתמים יעילים המאפשרים למתכנת לחסוך זמן ומאמץ, שאחרת יבוזבז ביצירת קוד.
חופש לבחור סגנונות תכנות
C ++ תומך בשבעה סגנונות קידוד שונים, מה שהופך אותה לשפת תכנות מרובת מודלים. כך תוכלו לבחור סגנון שמתאים למקרה שימוש מסוים, מבלי שתצטרכו להשתמש באובייקטים.
יכולת לפרק בעיות מורכבות
C ++ יכול לפתור בעיות מורכבות באופן אינטואיטיבי על ידי יצירת אובייקטים. בנוסף, פונקציות C ++ מאפשרות לך לחלק את הקוד לבלוקי קוד ברורים, קלים להבנה וקל לבדיקה ושינוי.
יכולת לאתר שגיאות לפני ביצוע
ל- C ++ יש סוג סטטי, מה שאומר שהמהדר אינו מניח הנחות לגבי מה שהמתכנת כותב. היתרון הוא שהמהדר יכול לתפוס שגיאות וכישלונות לפני הביצוע, מה שיכול לחסוך זמן בטווח הרחוק.
חסרונות
שימוש במצבים
מצביעים הם מושג שקשה יחסית להבין וגם צורכים הרבה זיכרון. שימוש לרעה במצבים יכול לגרום למערכת לתלות או להתנהג בצורה לא תקינה.
בעיה מרכזית היא כאשר הנתונים מצביעים זהה משתי נקודות התחלה שונות, גורמים לבעיה משמעותית ויוצרים בעיות מבלבלות בקידוד.
סוגיות אבטחה
למרות שתכנות מונחה עצמים מספקת אבטחה רבה לנתונים המטופלים, עדיין ישנן כמה בעיות אבטחה עקב הזמינות של פונקציות חבר, משתנים גלובליים ומצבים.
אין אספן זבל
C ++ מעניק למשתמש שליטה מלאה בניהול זיכרון המחשב. חסר לו תפקיד של אספן זבל לסנן אוטומטית נתונים מיותרים ולכן אינו תומך בהקצאת זיכרון דינאמית.
היעדר חוט
C ++ אינו תומך בחוטים מובנים. מושג השרשור חדש יחסית ב- C ++, מכיוון שהוא לא היה במקור. כעת C ++ מסוגלת לתמוך בפונקציות למבדה.
תוכניות מורכבות
כשפה מורכבת, קבצי הפעלה המיוצרים על ידי המהדר מקוד המקור אינם ניידים והם יפעלו רק על פלטפורמת היעד (חומרה פלוס מערכת הפעלה) שעבורם הם נערכו, או פלטפורמה בינארית נתמכת.
יכול להיות מורכב
C ++ יכול להיות מורכב, מכיוון שהוא מאפשר שיעורים, שהם פונקציות עם אותו שם. לכן יש להשתמש במערכת לטיפול בסמלים. יתר על כן, זה מורכב עבור תוכנית גדולה מאוד ברמה גבוהה. C ++ משמש בדרך כלל ליישומים ספציפיים לפלטפורמה.
הפניות
- פשוט (2020). תכנות C ++ למתחילים: היסטוריה, יתרונות ויישומים. נלקח מ: simplilearn.com.
- Educba (2020). שימושים ב- C ++ בעולם האמיתי. נלקח מ: educba.com.
- דמיטרי רסוקין (2020). שפת התכנות C ++ בכימינפורמטיקה וכימיה חישובית. Journal of Cheminformatics. נלקח מ: jcheminf.biomedcentral.com.
- אדורקה! (2020). מהן 10 הפיצ'רים המובילים של C ++? נלקח מ: edureka.co.
- אמן גואל (2020). שפת C ++: תכונות, שימושים, יישומים ויתרונות. גַרזֶן. לקוח מ: hackr.io.
- סטימיט (2020). C ++: ללמוד קוד. היסטוריה, יתרונות, חסרונות של שפת C ++. נלקח מ: steemit.com.
- דאט פלייר (2019). למד סוגי נתונים ב- C ו- C ++ עם דוגמא תוך ארבע דקות בלבד. לקוח מ: data-flair.training.