ישנה טכניקת תכנות בשם "Template Metaprogramming" או בקיצור TMP, המנצלת את התבניות על מנת לבצע חישובים מורכבים בזמן ההידור, ובכך עשויה להפחית את החישובים שיש לבצע בזמן ריצה.
טכניקה זו נתגלתה במקרה: במהלך הכנת התקן של שפת ++C, התברר שהתבניות של השפה הן בעצמן תת־שפה שלמה טיורינג, כלומר שניתן לבצע באמצעותה כל חישוב שיכול מחשב לבצע. הדוגמה הראשונה לתוכנית כזאת ביצעה חישוב של מספרים ראשוניים על אף שלא סיימה לעבור הידור. הרשימה של המספרים הראשוניים הייתה חלק מהודעת השגיאה שהפיק המהדר בזמן שניסה להדר את הקוד.
כיום ישנן ספריות רבות המסייעות לעבודה בטכניקה זו, אך כיוון שמלכתחילה לא הייתה כוונה ליצור את תת־השפה הזאת בתוך ++C, התחביר שלה קשה להבנה.
להלן דוגמה לקטע קוד שמבצע חישוב של עצרת:
template &lt;int N&gt;
struct Factorial
enum { value = N * Factorial&lt;N - 1&gt;::value };
template &lt;&gt;
struct Factorial&lt;0&gt;
enum { value = 1 };
// Factorial&lt;4&gt;::value == 24
// Factorial&lt;0&gt;::value == 1
void foo()
int x = Factorial&lt;4&gt;::value; // == 24
int y = Factorial&lt;0&gt;::value; // == 1
ספרית התבניות התקנית.
ספריית התבניות התקנית (STL - Standard Template Library) מכילה מימושים יעילים של מבני נתונים רבים כגון (מחסנית, רשימה מקושרת, עץ חיפוש מאוזן ועוד), וכן טיפוסי נתונים סטנדרטיים חשובים כמו וקטור (מערך דינמי) ומחרוזת. הספרייה גם מכילה אלגוריתמים גנריים שניתן להפעיל על מבני הנתונים כמו גם מחלקות לטיפול במספרים ובקלט־פלט. הארכיטקטורה של הספרייה מאפשרת להרחיב אותה בקלות יחסית. ניתן להוסיף אלגוריתם חדש שפועל על מבני הנתונים הקיימים ומבנה נתונים חדש שהאלגוריתמים הקיימים עובדים עליו.
תוספות אלו, תורשה מרובה (1989), העמסת אופרטורים (1989), תבניות (1991), ספרית התבניות הסטנדרטית ו־(RTTI (1995 הוכנסו לשפה בהדרגה.
קלט ופלט.
הספרייה הסטנדרטית של מציעה אפשרות של ביצוע קלט\פלט באמצעות Stream-ים מהם מבצעים קריאה באמצעות האופרטור », וכתיבה באמצעות האופרטור «. טיפוסים אלו מוגדרים בעיקר באמצעות הספריות iostream (קלט/פלט סטנדרטי) ו־fstream (קלט/פלט באמצעות קבצים).
דוגמה לשימוש בהגדרת הקלט הסטנדרטי cin והפלט הסטנדרטי cout:
int x;
std::cout « "please enter a number: ";
std::cin » x;
בדוגמה התוכנית תדפיס את הבקשה, ותמתין לקבלת מספר שלם.
Hello World.
דוגמה לתוכנית Hello world בשפת :
int main()
std::cout « "Hello, world!" « std::endl;
מטבע קובה
מטבע צ'ילה
מטבע מקסיקו
מטבע גינאה
שקע שרבי
מדינת האפיפיור
מדינת האפיפיור או מדינת הכנסייה (באיטלקית: Gli Stati della Chiesa - ארצות הכנסייה או Stati Pontificii - ארצות האפיפיור, בלטינית: Status Ecclesiae) הייתה מדינה שהתקיימה במרכז חצי האי האפניני לפני איחוד איטליה. מדינת האפיפיור התקיימה בין שנת 756 לשנת 1870.
המדינה כללה שטחים מהמחוזות המודרניים לאציו, אומבריה, מארקה, חלק מאמיליה-רומאניה ובתקופה מסוימת גם שטחים בדרום צרפת. האפיפיור היה השליט האזרחי במדינה זו, בנוסף למעמדו כעומד בראש ממסד הכנסייה הקתולית.
גודלה של מדינת האפיפיור ואופי סמכות השלטון של האפיפיור בה עברו שינויים במהלך השנים. נהוג לכנות סמכות שלטון זו "הסמכות החילונית" של האפיפיור, בניגוד לסמכותו העליונה (הייחודית והחשובה יותר) הרוחנית.
בשפות זרות אחדות נהוג לכנות ישות היסטורית זו ברבים - "מדינות האפיפיור" ואת הכינוי "מדינת האפיפיור" מייחדים למובלעת המודרנית שבתוך בירת איטליה רומא, המדינה הזעירה קריית הוותיקן. מדינה זו, על אף שטחה הקטן, מאפשרת לכס הקדוש קיום ריבונות מדינית מלאה גם כיום.
היסטוריה.
מתחילת הנצרות ועד הקמת מדינת האפיפיור.
בשלוש מאות השנים הראשונות לקיומה הייתה הכנסייה הקתולית ארגון בלתי חוקי, ולפיכך לא הייתה יכולה להיות בעלים של רכוש או להעביר רכוש למישהו אחר. לאחר שהקיסר קונסטנטינוס ביטל איסור זה, גדל הרכוש הפרטי של הכנסייה במהירות באמצעות תרומות של הנוצרים האדוקים העשירים שכללו גם שטחי אדמה. ארמון הלטראנו היה התרומה המשמעותית הראשונה, מתנה מקונסטנטינוס עצמו. משפחות רומאיות עשירות תרמו אחוזות שלמות, לרוב באיטליה אך גם בפרובינקיות כדוגמת דלמטיה, גאליה ופרובינקיות בחופו המזרחי של הים התיכון. הכנסייה החזיקה בשטחים אלה שכונו נחלת פטרוס הקדוש (Patrimonium Sancti Petri) כבעלת קרקעות פרטית ולא כישות ריבונית. כאשר במאה ה-5 עבר חצי האי האיטלקי לשלטונו של אודואקר ואחר־כך לשלטונם של האוסטרוגותים, קיבל ארגון הכנסייה והעומד בראשה - הבישוף של רומא - את מרותם השלטונית בעודו עומד על עליונותו בתחום הדת.
שורשי התהליך שהביא להקמת מדינת האפיפיור כישות מדינית ריבונית נעוצים במאה ה-6. האימפריה הביזנטית שמרכזה בקונסטנטינופול החלה במסע לכיבוש מחדש של נחלות האימפריה הרומית שאבדו במאות הקודמות. מסע הכיבוש הגיע גם לאיטליה וארך עשרות שנים ובמהלכו נחרבו המוסדות המדיניים והכלכליים של חצי האי. כשמסע הכיבוש התקרב לסיומו, פלשו הלומברדים לאיטליה מהצפון וכבשו כמעט את כל חצי האי. במאה השביעית היה השלטון הביזנטי מוגבל לרצועת שטח אלכסונית שהשתרעה בין רוונה, שבה ישב נציג הקיסר הביזנטי, האקסארך, לרומא. כיוון שהשלטון הביזנטי היה מרוכז בקצה הצפון־מזרחי של רצועת שטח זו, נטל לעצמו הבישוף של רומא, כבעל הקרקעות הגדול ביותר והדמות היוקרתית ביותר באיטליה, את הסמכות השלטונית שהביזנטים לא היו מסוגלים לממש באזור שסביב רומא. אומנם, לכאורה נותרו הבישופים של רומא (שעתה החלו להיקרא אפיפיורים) נתינים ביזנטיים, אך בפועל הפכה דוכסות רומא, אזור המקביל למחוז לאציו של ימינו, למדינה עצמאית הנשלטת בידי הכנסייה. בתפקידו כעומד בראש ישות מדינית זו קרא לעצמו האפיפיור בשם נציג "מדינת הרומאים" (Respublica Romanorum).
עצמאותה היחסית של הכנסייה יחד עם התמיכה העממית באפיפיורות באיטליה, אפשרה לאפיפיורים השונים להמרות את פיו של הקיסר הביזנטי. האפיפיור גרגוריוס השני אף נידה את הקיסר לאו השלישי. למרות זאת, האפיפיור והאקסרך שיתפו פעולה בניסיון לרסן את כוחם העולה של הלומברדים באיטליה. אבל ככל שהביזנטים נחלשו יותר ויותר, החל האפיפיור לקחת על עצמו חלק גדל והולך בהגנת רומא מהלומברדים. בדרך כלל באמצעות דיפלומטיה, איומים, ושוחד. למעשה גרמו מאמצי האפיפיור למיקוד עיקר מאמצי הכיבוש הלומברדי נגד האקסארך ורוונה. יש הרואים את ניצני הקמת מדינת האפיפיור בחתימת ההסכם המכונה "מתת סוטרי" בין מלך הלומברדים ליותפראנד לאפיפיור גרגוריוס השני בשנת 728, שבו אישר ליותפראנד את הרחבת גבולות האזור שבשליטת האפיפיור. יורשו של גרגוריוס השני, זכריה, חתם הסכם עם ליותפראנד שהחזיר לשליטת זכריה ערים שכבש ליותפראנד מדוכסות רומא.
מתת פפין והאימפריה הרומית הקדושה.
הקשר בין האימפריה הביזנטית לדוכסות רומא, שתאורטית הייתה חלק מן האימפריה, נותק כליל כאשר הנציבות הביזנטית ברוונה נכנעה בסופו של דבר ללומברדים בפיקודו של המלך אייסטולף ב-751. על מנת לנטרל את האיום הלומברדי פנה האפיפיור סטפנוס השני (הקרוי לעיתים סטפנוס השלישי) בבקשת עזרה לשליט הפרנקים בפועל פפין הגוץ. סטפנוס נתן את ברכת הכנסייה לשאיפתו של פפין להדיח את המלך המרובינגי כילדריך השלישי ולהכתיר את עצמו במקומו. כמו כן העניק סטפנוס לפפין את התואר "פטריקיוס של הרומאים". בתמורה לתמיכה זו הוביל פפין את הצבא הפרנקי במסעות כיבוש לאיטליה ב-754, וב-756 וכבש את רובה. בשנת 756 התחייב פפין במסמך המכונה "מתת פפין" להעניק לאפיפיור שטחים נרחבים באיטליה. השטחים כללו את רוונה ואת הפנטאפוליס ("חמש ערים" ברצועת החוף של הים האדריאטי בין רימיני לאנקונה), שטחים שבעבר היוו את האקסארכיה של רוונה. מתת פפין הסתמכה כפי הנראה על "מתת קונסטנטינוס", מסמך שנחשף 700 שנה אחר כך כמזויף, ועל פיו התחייב כביכול הקיסר הרומי קונסטנטינוס לתת מעמד קיסרי לאפיפיור באיטליה ובשטחי המערב. מתת פפין נחשבת כמאורע המכונן של מדינת האפיפיור. ב-774 אישר בנו של פפין, קרל הגדול, את ההבטחות שניתנו במתת פפין.
בהדרגה הגדיל קרל הגדול את השטחים שהיו בשליטה ריבונית של האפיפיור. ב-781 קבע קרל הגדול בחוק כי שטחים אלה כוללים את דוכסות רומא כבסיס, ואליה צורפו רוונה, הפנטאפוליס, חלקים מדוכסות בנוונטו, דרום־מערב טוסקנה, קורסיקה, לומברדיה ועוד מספר ערים איטלקיות. בשנת 787 נוספו מספר ערים איטלקיות ובהן קפואה למדינת האפיפיור. שיתוף הפעולה בין האפיפיורות לשושלת הקרולינגית הגיע לשיאו בשנת 800 כשהאפיפיור לאו השלישי הכתיר את קרל הגדול כ"קיסר הרומאים" (Augustus Romanorum).