hotchpotch/wikipedia-multilingual-ir-pairs huggingface dataset:
سي++ المكتبة المعيارية
كانت مكتبة القوالب المعيارية STL بالأساس مكتبة مطورة من طرف ثالث، في البداية كان HP وتحولت لاحقاً إلى SGI قبل أن تدرج بشكل رسمي ضمن معيار ++C. ألكسندر ستيبانوف هو المعماري الأساسي لهذه المكتبة التي أتت حصيلة اختباره للخوارزميات والحاويات المجردة سنواتٍ طويلة. لما بدأ ستيبانوف استخدام لغة ++C سرعان ما اكتشف أنها اللغة المناسبة لكتابة الخوارزميات المجردة (مثل خوارزمية sort الخاصة بـ STL) والتي يمكنها العمل بسرعة أكبر من قريناتها مثل خوارزمية qsort مثلاً من مكتبة C القياسية ويعود الفضل في ذلك إلى مزايا لغة ++C مثل التضمين (بالإنجليزية: inlining) والربط وقت التصريف (بالإنجليزية: compile-time binding) والتي تغني عن استخدام المؤشرات إلى التوابع.
لا يشير المعيار إلى هذه مكتبة القوالب المعيارية باسم "STL"، ذلك أنها جزء فقط من المكتبة المعيارية إلا أن هذا الاسم يستخدم بشكل شائع للتمييز عن باقي محتويات المكتبة المعيارية (مثل مكتبة الإدخال والإخراج المعيارية، عولمة البرنامج (بالإنجليزية: internationalization)، التشخيص، مكتبة C المعيارية المعدّلة، إلخ).
توفر العديد من مصرفات ++C تطبيقاً لمكتبة ++C المعيارية بما فيها STL وهنالك أيضاً تطبيقات خاصة بالمصرف من STL مثل STLPort. توجد العديد من المشاريع التي توفر إصدارات مخصصة من مكتبة ++C المعيارية وSTL ملائمة لأهداف تصميمية عديدة.
سي++ مزايا اللغة
ترث لغة ++C نحو لغة C، فيما يلي إصدار من برنامج أهلاً بالعالم مكتوب بهذه اللغة من قبل بيارن ستروستروب ، يتم في هذا البرنامج استخدام مجرى الإخراج الموجود في مكتبة ++C المعيارية من أجل كتابة عبارة !Hello, World إلى الإخراج المعياري.
ويمكن أيضا استخدام التوجيه namespace std لتجنب كتابة std:: قبل كتابة الدوال والكائنات وأنواع البيانات ألخ... ليصبح الكود هكذا :
من الجدير بالملاحظة أن فشل التابع في إعادة قيمة يسبب سلوكاً غير معرف في حال كان توقيعه يشير إلى إعادة قيمة من نمط مخالف للنمط void (تقدم المصرفات عادة معلومات كافية لتشخيص مشكلة مثل هذه). الاستثناء الوحيد لهذه القاعدة هو التابع main والذي يعيد ضمنياً القيمة 0 في حال عدم الإشارة صراحة إلى ذلك.
سي++ مزايا اللغة
توفر لغة ++C ما يزيد عن 35 معاملاً بما فيها المعاملات الحسابية الأساسية ومعاملات التلاعب بالبتات ومعاملات إزالة الأدلة (الخاصة بالتعامل مع المؤشرات) ومعاملات المقارنة والمعاملات المنطقية وغيرها. يمكن تحميل معظم المعاملات بشكل زائد من قبل المستخدم مع بعض الاستثناءات الجديرة بالملاحظة مثل معاملات الولوج إلى الأعضاء (. و.*) وكذلك المعاملات الشرطية. تعتبر ميزة تحميل المعاملات بشكل زائد حجر الأساس في تمكين استخدام الأنماط المعرفة من قبل المستخدم إضافة إلى تسهيل استخدام الأنماط المتاحة من اللغة نفسها (بحيث أن المستخدم لا يستطيع تمييز الفوارق بينها). يعتبر التحميل الزائد للمعاملات أساسياً أيضاً في العديد من الميزات المتقدمة للبرمجة باستخدام ++C مثل تقنية المؤشرات الذكية. من الجدير بالملاحظة أن التحميل الزائد للمعاملات لا يغير من قواعد أسبقية المعاملات ولا يغير من عدد المتحولات التي يتعامل معها المعامل (يمكن على كل الأحوال للمعامل أن يهمل بعض المتحولات، إلا أن المتحولات سيتم تقييمها قبل تنفيذ المعامل). إن التحميل الزائد لمعاملات "&&" و"||" يفقدها خاصية تقييم قصر الدارة التي تكسبها فعالية في الأداء.
سي++ مزايا اللغة
حجز سكوني للذاكرة: يُسند للمتحول السكوني قيمة أثناء ترجمة (تصريف) البرنامج كما تٌعطى المساحة المحجوزة مكاناً ثابتاً ضمن المصدر التنفيذي. تعرف المتحولات السكونية باستخدام الكلمة المفتاحية static (المقصود هنا حجز مكان سكوني وليس حجز عضو خاص بالصف).
حجز أوتوماتيكي للذاكرة: يُصرح عن المتحول الأوتوماتيكي باستخدام اسمه ونمطه، يحجز لهذه المتحول مكان في المكدس لدى إسناد قيمة إليه. يتم استدعاء الباني عند تنفيذ التعريف عن المتحول، ويتم استدعاء الهادم عندما يصبح المتحول خارج نطاق الرؤية وبعد استدعاء الهادم يتم تحرير الذاكرة المحجوزة.
حجز ديناميكي للذاكرة: يتم حجز مكان للمتحول ضمن الكومة (بالإنجليزية: heap) عن طريق الإدارة اليدوية للذاكرة باستخدام الكلمات المفتاحية new وdelete (لا تزال ++C تدعم توابع C التقليدية الخاصة بإدارة الذاكرة ()malloc و()free).
إن تمكين المستخدم من إدارة الذاكرة بشكل كامل شبيه بلغة C على عكس لغات البرمجة التي تعمد إلى إخفاء تفاصيل كهذه عن المبرمج مثل لغة Java وPerl وPHP وRuby.
سي++ مزايا اللغة
تتيح قوالب ++C البرمجة العمومية (بالإنجليزية: generic programming). تدعم ++C كلاً من قوالب الصفوف وقوالب التوابع. يمكن إعطاء القوالب ثلاث أنواع من البارامترات: أنماط، ثوابت معرفة وقت التصريف، وقوالب أخرى. يتم تخصيص القوالب وبناء نماذج منها وقت التصريف. لبناء قالب يقوم المصرف باستبدال بارامترات القالب بوسطاء محددة من أجل توليد تابع حقيقي أو نموذج عن صنف.
سي++ مزايا اللغة
بعض الاستبدالات غير ممكنة إلا أنها لا تولد أخطاءً، يعود الفضل في ذلك إلى سياسة تقرير التحميل الزائد للقوالب التي توصف بالعبارة التالية: «الفشل في الاستبدال ليس خطأ» (SFINAE) (بالإنجليزية: Substitution failure is not an error) تحاول هذه السياسة استنباط الاستبدالات الصحيحة حتى وإن قادت بعض الاستنباطات إلى استبدالات خاطئة. تقدم القوالب أداة قوية يمكن استخدامها للبرمجة العمومية والميتا-برمجة (بالإنجليزية: metaprogramming). باستخدام القوالب كذلك يمكن استخدامها في أمثَلة المصدر إلا أن هذه القوة لا تأتي دون تكلفة. قد تزيد القوالب من حجم المصدر، ذلك أن كل تخصيص للقالب ينتج نسخة من مصدر القالب: إلا أن نسخة توليد نسخة من أجل كل مجموعة من وسطاء القالب يكافئ إلى حد ما نفس حجم المى الناتج من كتابتها بشكل يدوي. إن هذا السلوك مخالف للكائنات العمومية (بالإنجليزية: generics) التي تعمل وقت التنفيذ والمدعومة في عدد من اللغات (مثل لغة Java) حيث يحذف النمط وقت التصريف ويحفظ جسم وحيد للقالب ليتم استخدامه وقت التنفيذ.
سي++ مزايا اللغة
تختلف القوالب عن الماكروز بعدة نواحٍ: على الرغم من أن كلا الميزتين توفران تصريفاً شرطياً إلا أن القوالب ليست محدودة بالاستبدال اللفظي فقط حيث أن لديها اطلاعا على معاني ونظام التنميط الخاص باللغة بالإضافة إلى معرفتها بتعاريف الأنماط وقت التصريف كما يمكنها القيام بالعديد من المهام العالية المستوى مثل إمكانية ضبط التدفق برمجياً من خلال تقييم البارامترات ذات الأنماط المعروفة قسراً. لدى الماكرو القدرة على القيام بالتحكم الشرطي في التصريف بناءً على شروط محددة سلفاً إلا أنها غير قادرة على خلق أنماط جديدة أو استدعاء نفسها ذاتياً أو القيام بتقييم الأنماط ويبقى تأثيرها محدوداً باستبدال السلاسل النصية و (عدم) تضمين النصوص مباشرة قبل التصريف. بمعنى آخر تستطيع الماكروز التحكم بتدفق التصريف بناءً على رموز معرفة سابقاً إلا أنها -على خلاف القوالب- غير قادرة على إنشاء رموز جديدة بمفردها. تعتبر القوالب أداة لتحقيق تعدد الأشكال (بالإنجليزية: polymorphism) السكوني والبرمجة العمومية.
سي++ مزايا اللغة
إضافة لما سبق تجدر الإشارة إلى أن القوالب هي ميكانيكية وقت التصريف خاصة بلغة ++C تتمتع بميزة أنها تورينغ-كاملة بمعنى أنه يمكن استخدام القوالب لكتابة برامج يمكنها القيام قبل التنفيذ بكافة الاحتسابات التي يمكن القيام بها باستخدام أي برنامج حاسوبي.
يمكن تلخيص ما سبق بالقول أن القوالب هي توابع أو صفوف مضاف إليها بارامترات تعمل وقت التصريف وتكتب دون معرفة مسبقة بالوسطاء المستخدمة لتحقيق نماذج مخصصة منها. إن المصدر الناتج من تخصيص القالب مكافئ للمصدر المكتوب بشكل يدوي خصوصاً من أجل الوسطاء الممررة. بهذه الطريقة توفر القوالب طريقة لفصل الجوانب العمومية والقابلة للتطبيق على نطاق واسع على شكل توابع وصفوف (مرمزةً بصفتها قوالب) عن الجوانب المخصصة (مرمزةً بصفتها بارامترات للقوالب) دون أن يسبب هذا التجريد خسارة في الأداء.
سي++ مزايا اللغة
تضيف ++C مزايا البرمجة الكائنية التوجه (OOP) إلى لغة C، فقد تم إضافة الأصناف التي تقدم بدورها الميزات كائنية التوجه الأربعة الشائعة في أغلب لغات البرمجة الكائنية التوجه (وكذلك بعض اللغات الغير كائنية التوجه): التجريد، التغليف، الوراثة، تعدد الأشكال. إحدى أهم ميزات أصناف ++C التي تفرقها عن باقي اللغات هي دعم الهوادم الحتمية والتي توفر بدورها دعماً لمفهوم استحواذ المصدر عبر تهيئته (RAII) (بالإنجليزية: Resouce Acquisition is Initialization).
سي++ مزايا اللغة
التغليف هو إخفاء المعلومات بهدف ضمان أن بنى المعطيات والمعاملات سيتم استخدامها بالشكل المحدد ولجعل نموذج استخدامها أكثر وضوحاً بالنسبة للمطور. توفر لغة ++C إمكانية تعريف الإصناف والتوابع بصفتها تقنيات بدائية للتغليف. يمكن لأعضاء الصف أن يعرف عاماً (بالإنجليزية: public) أو محمياً (بالإنجليزية: protected) أو خاصاً (بالإنجليزية: private) لتطبيق مفهوم التغليف صراحةً. يمكن لأي تابع الولوج إلى عضو عام في حين لا يمكن الولوج إلى الأعضاء الخاصة إلا من قبل التوابع الأعضاء بالإضافة إلى التوابع والأصناف «الأصدقاء» أي تلك الممنوحة صلاحية الولوج إلى الأعضاء الخاصة بالصنف (باستخدام الكلمة المفتاحية friend). يمكن الولوج للعضو المحمي من قبل كافة أعضاء الأصناف الوارثة إضافة إلى الصنف نفسه وجميع «أصدقاءه».
سي++ مزايا اللغة
يشير المبدأ الكائني التوجه إلى أنه في حال كان لدى تابع صلاحية الولوج إلى البنية الداخلية لنمط ما وجب تغليف هذا التابع ضمن تعريف النمط. تدعم ++C هذا المبدأ (من خلال التوابع الأعضاء والتوابع الصديقة) إلا أنها لا تجبر المبرمج على تطبيقه: إذ يمكن للمبرمج أن يعرّف أجزاءً من تمثيل النمط بصفتها أعضاءً عامة بحيث يمكن الولوج إليها من قبل كيانات خارجية ليست بالضرورة جزءاً من تمثيل النمط. لهذا السبب لا تدعم ++C البرمجة كائنية التوجه فقط بل تدعم أيضاً نماذجاً برمجية أخرى ضعيفة التفكك مثل البرمجة التركيبية.
يعتبر جعل كافة الأعضاء البيانية خاصةً (أو محمية) بالإضافة إلى جعل فقط تلك التوابع التي توفر واجهة أصغرية لبقية مستخدمي الصف عامةً من الممارسات البرمجية الجيدة إجمالاً. ذلك أنه يمكن إخفاء تفاصيل تحقيق وظيفية الصنف بهذه الطريقة بشكل يتيح للمصممين إمكانية تغيير التحقيق بشكل كامل لاحقاً دون الاضطرار إلى تغيير الواجهة التي يستخدمها الآخرون.
سي++ مزايا اللغة
تتيح الوراثة لنمط بيانات ما أن يكتسب خصائص نمط بيانات آخر. يمكن للوراثة من صنف القاعدي (أو الصنف الأب) أن تعرف بصفتها وراثة عامة public أو محمية protected أو خاصة private. تتيح معرفات الوصول هذه تحديد فيما إذا كانت الأصناف المشتقة وعديمة الصلة تستطيع الولوج إلى الأعضاء العامة والمحمية الخاصة بالصنف القاعدي. إن الوراثة العامة فقط هي التي تتناسب مع المعنى المقصود عادةً بالـ«وراثة» ويعتبر النوعان المتبقيان أقل استخداماً بشكل كبير. في حال تم حذف معرف الوصول تكون الوراثة بين «الصنف» المشتق و«الصنف» القاعدي خاصة في حين تكون الوراثة بين «البنية» (struct) المشتقة و«البنية» الأب عامة. يمكن تعريف الأصناف القاعدية بصفتها أصنافا وهمية virtual؛ في هذه الحالة تسمى الوراثة وهمية. تضمن الوراثة الوهمية وجود نموذج (instance) واحد فقط من الصنف القاعدي في بيان الوراثة بشكل يجلي الغموض الذي قد يحصل بسبب الوراثة المتعددة.
سي++ مزايا اللغة
إن الوراثة المتعددة هي ميزة تكاد تنفرد بها لغة ++C إذ لا توجد هذه الميزة في أغلب لغات البرمجة الأخرى، تتيح الوراثة المتعددة لصنف ما أن يُشتق من أكثر من صنف قاعدي واحد؛ تتيح هذه الميزة إنشاء علاقات وراثية أكثر دقة. فعلى سبيل المثال يمكن لصنف «القط الطائر» أن يرث من كلا الصنفين «قط» و«لبون طائر». بعض اللغات الأخرى مثل لغة Java ولغة #C تحقق هدفاً شبيهاً (على الرغم من كونه محدوداً أكثر) عبر إتاحة الوراثة من واجهات متعددة في حين حصر عدد الأصناف القاعدية بصنف واحد فقط (تتيح الواجهات -على خلاف الأصناف- إمكانية التصريح عن التوابع الأعضاء دون إمكانية إضافة تحقيق لها أو إضافة أعضاء بيانية). يمكن تعريف واجهة كما في لغة #C ولغة Java في لغة ++C أيضاً بصفتها صنف يحتوي فقط على توابع ظاهرية صرفة (pure virtual)، يعرف هكذا الصنف باسم صنف قاعدي مجرد (ABC) (بالإنجليزية: Abstract Base Class). تعرّف التوابع الأعضاء الخاصة بصنف قاعدي مجرد عادةً بشكل صريح في الصنف المشتق ولا يتم توريثها ضمنياً. تتمتع الوراثة الظاهرية في لغة ++C بميزة إجلاءٍ للغموض اسمها الهيمنة (بالإنجليزية: dominance).
سي++ مزايا اللغة
يتيح تعدد الأشكال توفير واجهة مشتركة لتحقيقات (implementation) عديدة، كما تتيح للكائنات أن تتصرف بطرق مختلفة حسب الأوضاع المختلفة. توفر ++C العديد من أنواع تعددية الأشكال السكونية (وقت التصريف) والديناميكية (وقت التنفيذ). في حين لا تتيح تعددية أشكال وقت التصريف اتخاذ بعض القرارات أثناء التنفيذ. تنطوي تعددية أشكال وقت التنفيذ على بطء نسبي في الأداء.
يمكّن التحميل الزائد للتوابع من كتابة توابع تحمل الاسم نفسه (ولكن لها وسائط مختلفة). يتم تمييز التوابع عن بعضها البعض من خلال عدد وأنماط بارامتراتها. لهذا السبب قد يشير اسم التابع ذاته إلى توابع مختلفة حسب السياق الذي يتم استخدامه فيه. من الجدير بالملاحظة أن نمط القيمة المعادة للتابع لا يستخدم للتفريق بين التوابع المحملة بشكل زائد وبؤدي في حال اعتماده إلى رسالة خطأ أثناء ترجمة البرنامج.
سي++ مزايا اللغة
لدى التصريح عن تابع ما يمكن للمبرمج أن يسند لبارامتر واحد أو أكثر قيمة افتراضية. في حال القيام بذلك يمكن إهمال هذه البارامترات لدى استدعاء التابع ليتم تعويضها بقيمها الافتراضية. عند استدعاء تابع باستخدام عدد من الوسطاء أقل من عدد البارامترات المصرح عنها يتم مطابقة الوسطاء الممررة مع البارامترات الموافقة لها من اليسار إلى اليمين ومن ثم يتم إعطاء أي بارامتر لم تتم مطابقته قيمته الافتراضية. في الكثير من الحالات يفضل استخدام تصريح واحد للتابع مع قيم افتراضية بدلاً من توفير عدد من التوابع المعرفة بشكل زائد لديها أعداد وأنماط مختلفة من البارامترات.
سي++ مزايا اللغة
توفر قوالب لغة ++C تقنية متطورة ومعقدة لكتابة مصدر عمومي متعدد الأشكال. تحديداً يتيح نمط القالب غريب التكرار (بالإنجليزية: Curiously Recurring Template Pattern) كتابة نماذج من تعدد الأشكال السكوني تحاكي بشكل قريب أسلوب كتابة تجاوز التوابع الظاهرية. تستطيع قوالب ++C التعرف على الأنماط وتتمتع بكونها تورينغ-كاملة، تمكّن هاتين الميزتين من استخدام المصرّف لحل الشرطية العودية وتوليد برامج هامة باستخدام ميتا-برمجة القوالب. خلافاً للمعتقد السائد فإن استخدام القوالب لا يولد مصدرا عديم الفائدة عند التصريف بشرط استخدام الإعدادات المناسبة للمصرف.
تستطيع المتحولات من نمط المؤشرات (والأدلة) التي تشير إلى صنف قاعدي أن تشير أيضاً إلى أي كائن من نمط صنف مشتق من ذاك الصنف القاعدي بالإضافة إلى الكائنات التي تطابق نمط المتحول. تمنح هذه الميزة مصفوفات وحاويات المؤشرات إمكانية الإشارة إلى كائنات من أنماط مختلفة. يحدث هذا السلوك وقت التنفيذ عادةً ذلك أن المتحولات غالباً ما تسند لها القيم وقت التنفيذ.
سي++ مزايا اللغة
توفر ++C المعامل dynamic_cast الذي يتيح للبرنامج أن يحاول بأمان (بدون أخطاء) تحويل نمط كائن إلى نمط آخر أكثر تحديداً (على خلاف التحويل إلى نمط أكثر عمومية المسموح دائماً). تعتمد هذه الميزة على معلومات التنميط وقت التنفيذ (RTTI) (بالإنجليزية: Run-time type information). يمكن للكائنات التي يعرف المبرمج سلفاً أنها من نمط معين أن تُحول إلى ذلك النمط باستخدام المعامل static_cast الذي يتم التحقق منه وقت التصريف ولا ينطوي على أي جهد إضافي وقت التنفيذ كما أنه لا يتطلب RTTI.
سي++ مزايا اللغة
بشكل عام عندما يتجاوز تابع من صف مشتق تابعاً من صف قاعدي يحدد الإصدار الواجب استدعائه من ذلك التابع حسب نمط الكائن. يتم تجاوز تابع ما عندما لا يوجد اختلاف في عدد وأنماط الوسائط بين تعريفين أو أكثر من للتابع. بما أنه قد لا يمكن معرفة نمط الكائن المشار إليه بدقة وقت التصريف في حال استخدام متحول من نمط مؤشر إلى صف قاعدي فإنه المصرف لن يعرف في هذه المرحلة أي نسخة من التابع يجب استدعاؤها؛ لهذا السبب يؤجل هذا القرار إلى حين وقت التنفيذ وتسمى هذه السياسة الترحيل الديناميكي (بالإنجليزية: dynamic dispatch). تتيح التوابع الأعضاء الظاهرية أو «الطرق» استدعاء النحقيق الأكثر تحديداً من التابع المُستدعى حسب نمط الكائن وقت التنفيذ. يتم تحقيق هذا الغرض بشكل شائع في تحقيقات لغة ++C عن طريق استخدام جداول التوابع الظاهرية. يمكن تجاوز استخدام جداول التوابع الظاهرية بإضافة الاسم المؤهل الكامل للصف قبل استدعاء التابع في حال معرفة نمط الكائن إلا أن الاستدعاءات العامة للتوابع الظاهرية يتم حلها وقت التنفيذ باستخدام هذه الجداول.
سي++ مزايا اللغة
بالإضافة إلى التوابع الأعضاء القياسية يمكن لتوابع التحميل الزائد للمعاملات والهوادم أن تكون ظاهرية أيضاً. تقول القاعدة العامة أنه في حال وجود تابع عضو ظاهري واحد على الأقل في الصف يجب أن يكون هادم الصف ظاهرياً أيضاً. بما أن نمط التابع وقت إنشائه يكون معروفاً وقت التصريف فإن البواني (وكذلك البواني الناسخة) لا يمكن أن تكون ظاهرية. على الرغم من ذلك قد تظهر بعض الحالات التي يضطر فيها إنشاء نسخة من الكائن عند تمرير مؤشر إلى كائن مشتق كمؤشر إلى كائن قاعدي. الحل الشائع لحالة كهذه يمكن في إنشاء تابع ظاهري ()clone (أو أي اسم آخر) ينشئ ويعيد نسخةً من الصف المشتق لدى استدعائه.
ريكن
ريكن (باليابانية: 理研) هو معهد أبحاث علوم طبيعية في اليابان تأسس عام 1917 ويضم حوالي 3000 عالم على امتداد سبعة مراكز بحثية على امتداد رقعة اليابان. المركز الرئيسي هو في مدينة واكو في محافظة سايتاما شمال طوكيو. اسم معهد ريكن هو اختصار للاسم الكامل (理化学研究所) ريكن كاغاكو كينكيوشو والتي تعني مركز أبحاث علوم الفيزياء والكيمياء.
يجري معهد ريكن العديد من الأبحاث في مجالات الفيزياء، الكيمياء، علم الأحياء، العلوم الطبية، الهندسة، والمعلوماتية وتتنوع مستويات الأبحاث من الأبحاث الأساسية إلى الأبحاث التطبيقية. يتبع معهد ريكن وزارة التعليم اليابانية ويتم تمويله بشكل كامل من الحكومة اليابانية بميزانية تقدر بحوالي 88 مليار ين سنوياً.
عربية مغربية
هل المقصود:
دارجة
لهجة مغربية: إحدى اللهجات العربية.
لهجة جبلية: إحدى اللهجات المغربية.
لهجة حسانية: لهجة عربية.
أنشلوس
أنشلوس (بالألمانية: Anschluss أو Anschluß ) هي عملية عسكرية سلمية ضمت بموجبها جمهورية النمسا إلى ألمانيا على يد الحكومة النازية في 12 مارس 1938. لقي هذا الضم ترحيباً كبيراً من غالبية النمساويين حينها في عهد مستشار النمسا أرتور زايس إنكفارت. وبقيت النمسا جزءاً من ألمانيا حتى نهاية الحرب العالمية الثانية ضمن الساحة الأوروبيّة في 8 مايو 1945.
كانت الكلمة الألمانية تُكتَب Anschluß، واستمر ذلك حتى الإصلاح الإملائي الألماني عام 1996، وكانت تُعرف أيضًا باسم «ضم النمسا» (بالألمانية: Anschluss Österreichs).
سُبِقت عملية الأنشلوس، بتأييد شعبي قوي لقيام الاتحاد بين البلدين من جميع الخلفيات -وليس فقط النازيين- في كل من النمسا وألمانيا. وشكلت الرغبة في الاتحاد جزءًا لا يتجزأ من الحركة النازية «العودة إلى الرايخ» (بالألمانية: Heim ins Reich) التي هدفت لحشد الألمان العرقيين خارج ألمانيا النازية ضمن ألمانيا الكبرى. في وقت سابق، قدمت ألمانيا النازية الدعم للحزب الوطني الاشتراكي النمساوي (الحزب النازي النمساوي) في محاولة منها لانتزاع السلطة من حكومة الجبهة الوطنية النمساوية.
أنشلوس
بدأ ظهور فكرة الأنشلوس (وحدة النمسا وألمانيا التي ستشكل «ألمانيا العظمى») بعد استبعاد «حركة توحيد ألمانيا» للنمسا والنمساويين الألمان من الإمبراطورية الألمانية الواقعة تحت هيمنة بروسيا في عام 1871. في أعقاب نهاية الحرب العالمية الأولى ومع سقوط الإمبراطورية النمساوية المجرية، في عام 1918، حاولت جمهورية ألمانيا النمساوية المتشكلة حديثًا تكوين اتحاد مع ألمانيا، لكن منعت معاهدة سان جرمان (10 سبتمبر 1919) إلى جانب معاهدة فرساي (28 يونيو 1919) تشكيل الاتحاد، ومنعت أيضًا الاستمرار باستخدام اسم «الدولة الألمانية النمساوية» (بالألمانية: Deutschösterreich) ؛ وجُرِّدت النمسا من بعض أراضيها، مثل إقليم السوديت (بالألمانية: Sudetenland).
أنشلوس خلفية تاريخية
شكَّلت فكرة حشد جميع الألمان ضمن دولة واحدة موضع نقاش في القرن التاسع عشر منذ تفكك الإمبراطورية الرومانية المقدسة في عام 1806 وحتى انهيار الاتحاد الألماني في عام 1866. أرادت النمسا الحل الألماني الكبير (بالألمانية: Großdeutsche Lösung)، حيث تتحد بموجبه الدول الألمانية تحت قيادة النمساويين الألمان (هابسبورغ). شمل هذا الحل جميع الدول الألمانية (بما في ذلك المناطق غير الألمانية من النمسا)، لكن وجب على بروسيا أن تحتل المرتبة الثانية. سيطر هذا الجدل، الذي سُمِّي بالازدواجية، على الدبلوماسية النمساوية البروسية  وسياسة الولايات الألمانية في منتصف القرن التاسع عشر.
أنشلوس خلفية تاريخية
في عام 1866، انتهى النزاع أخيرًا خلال الحرب الألمانية بهزيمة النمساويين على يد البروسيين الذين طردوا النمسا والنمساويين الألمان خارج ألمانيا. عمل السياسيّ المحنّك البروسي أوتو فون بسمارك على تشكيل الاتحاد الألماني الشمالي، الذي تضمن بقية الولايات الألمانية ووسَّع سلطة بروسيا. استخدم بسمارك الحرب الفرنسية البروسية (1870-1871) على أنها حجّة إقناع للولايات الألمانية الأخرى، بما في ذلك مملكة بافاريا، كي تتحالف مع بروسيا ضد الإمبراطورية الفرنسية الثانية. نتيجة الانتصار السريع لبروسيا، حُسِمت المسألة وتشكلت القيصرية الألمانية «ألمانيا الصغرى (بالألمانية: Kleindeutsch)» في عام 1871 تحت قيادة بسمارك ومملكة بروسيا (مستبعدةً النمسا). بالإضافة إلى ضمان السيطرة البروسية على ألمانيا الموحدة، كان استبعاد النمسا كفيلًا بأن تتمتع ألمانيا بأغلبية بروتستانتية كبيرة.
أنشلوس خلفية تاريخية
نصَّت التسوية النمساوية المجرية لعام 1867،(تسوية آوسغلايش – بالألمانية: Ausgleich )، على سيادة مزدوجة للإمبراطورية النمساوية ومملكة المجر، تحت حكم الإمبراطور فرانتس يوزيف الأول. تضمن الحكم المجري النمساوي لهذه الإمبراطورية المتنوعة مجموعات عرقية مختلفة عديدة بما في ذلك الهنغاريين أو المجريين، والمجموعات العرقية السلافية مثل الكروات والتشيك والبولنديين والروس والصرب والسلوفاك والسلوفينيين والأوكرانيين، والإيطاليين والرومانيين الذين حكمتهم أقليَّة ألمانية أيضًا. سببت الإمبراطورية توترات بين الجماعات العرقية المختلفة. أظهر العديد من عوام الألمان النمساويين الولاء لبسمارك ولألمانيا فقط، إذ ارتدوا رموزًا حُظِرت مؤقتًا في المدارس النمساوية ودعوا إلى حلّ الإمبراطورية للسماح بضم النمسا إلى ألمانيا. على الرغم من موافقة العديد من النمساويين على أفكار الوحدة الألمانية، استمر الكثير منهم بإبداء ولائهم لمَلَكية هابسبورغ آملين أن تبقى النمسا دولة مستقلة. بعد أن حاز النازيون على السلطة في ألمانيا في عام 1933، لجؤوا لاستخدام البروباغندا في محاولة لإجبار النمساويين على الدعوة إلى عملية ضم «أنشلوس» إلى الرايخ الألماني باستخدام شعارات مثل آين فولك، وآين رايخ، وآين فوهرر «شعب واحد، وإمبراطورية واحدة، وقائد واحد».
أنشلوس خلفية تاريخية
بحلول نهاية الحرب العالمية الأولى، كان قد مضى على استبعاد النمسا من الشؤون الألمانية الداخلية أكثر من خمسين عامًا منذ صلح براغ الذي أنهى الحرب البروسية النمساوية لعام 1866.
أيّدت النخبة والرأي الشعبي في النمسا بعد عام 1918 بشدة قيام نوع من أنواع الاتحاد مع ألمانيا، لكن حُظِر ذلك صراحةً ضمن معاهدات السلام. انفصلت الإمبراطورية النمساوية المجرية في عام 1918، وفي 12 نوفمبر من ذلك العام، أعلن عن قيام الجمهورية الألمانية النمساوية. صاغت الجمعية الوطنية المؤقتة بصياغة دستور مؤقت نصَّ على أن «دولة النمسا الألمانية تعتبر جمهورية ديمقراطية» (المادة 1) و «دولة النمسا الألمانية هي جزء من الجمهورية الألمانية» (المادة 2). حصدت الاستفتاءات الشعبية اللاحقة في ولايتي تيرول وسالزبورغ على الحدود الألمانية على أغلبية 98% و %99  (كمدينة فايمار) لصالح الاتحاد مع جمهورية ألمانيا.
أنشلوس خلفية تاريخية
إثر تداعيات الحظر المفروض على قيام الأنشلوس، أشار الألمان في كل من النمسا وألمانيا إلى تناقض في مبدأ تقرير المصير الوطني كونه فشل في منح الألمان العرقيين (مثل النمساويين الألمان وألمان السوديت) الحق بتقرير المصير خارج الرايخ الألماني.
حظرت معاهدة فرساي ومعاهدة سان جرمان (جرى التوقيع عليهما في عام 1919) بشكل صريح الإدماج السياسي للنمسا في الدولة الألمانية. انتقد هذا الإجراءَ هوغو بروس، المسؤول عن صياغة دستور جمهورية فايمار الألمانية، الذي رأى أن الحظر يتناقض مع مبدأ ويلسون في حق الشعوب بتقرير المصير، والذي يهدف إلى المساعدة بعملية إحلال السلام في أوروبا. بعد ما خلفته الحرب العالمية الأولى من دمار، كانت فرنسا وبريطانيا تخشيان قوة ألمانيا الكبرى وبدأتا بإضعاف الدولة الحالية.
لعبت الحركة الخصوصية (الانصرافية) النمساوية[بحاجة لتوضيح] خاصة بين طبقة النبلاء، دورًا في صناعة القرارات؛ إذ اتَّبعت النمسا الرومانية الكاثوليكية، بينما هيمن البروتستانت على ألمانيا، وخاصة داخل الحكومة (إذ كان النبلاء البروسيون، مثلًا، لوثريين).
أنشلوس خلفية تاريخية
تضمن دستورا جمهورية فايمار والجمهورية النمساوية الأولى هدف التوحيد السياسي، الذي حظي بدعم واسع من الأحزاب الديمقراطية. في أوائل الثلاثينيات، سيطر الدعم الشعبي في النمسا للوحدة مع ألمانيا، ونظرت الحكومة النمساوية في اتحاد جمركي محتمل مع الجمهورية الألمانية في عام 1931.
عندما اعتلى النازيون السلطة في جمهورية فايمار، بقيادة أدولف هتلر، انسحبت الحكومة النمساوية من العلاقات الاقتصادية. كان للنمسا نصيب من الاضطراب الاقتصادي لأزمة الكساد الاقتصادي الكبير، بارتفاع معدل البطالة، والتجارة والصناعة غير المستقرة. خلال عشرينيات القرن الماضي كانت النمسا هدفًا لرأس المال الاستثماري الألماني. بحلول عام 1937، زادت عملية إعادة تسلح الرايخ الثالث السريعة من اهتمام برلين بضم النمسا الغنية بالمواد الخام والقوى العاملة. زودت ألمانيا بالمغنيزيوم ومنتجات صناعات الحديد والنسيج والآلات. امتلكت احتياطي من الذهب والعملات الأجنبية، والعديد من العمال المهرة العاطلين عن العمل، ومئات من المصانع الخاملة، والموارد المائية الضخمة ذات الإمكانات الكبيرة.
أنشلوس خلفية تاريخية
تشرّب هتلر، الألماني نمساوي المولد، أفكاره القومية الألمانية في سن مبكرة. أثناء اختراقه لحزب العمال الألماني (داب)، انخرط هتلر في جدال سياسي ساخن مع أحد الزائرين، البروفيسور باومان، الذي اقترح أن تنفصل بافاريا عن بروسيا وأن تؤسس دولة ألمانية جنوبية جديدة مع النمسا. في مهاجمته الشديدة لحجج الرجل، ترك انطباعًا لدى أعضاء الحزب الآخرين بمهاراته الخطابية، ووفقًا لهتلر، غادر «البروفيسور» القاعة معترفًا بهزيمة قاطعة. معجبًا بهتلر، دعاه أنتون دريكسلر للانضمام إلى حزب العمال الألماني. وافق هتلر في 12 سبتمبر 1919، ليصبح العضو رقم 55 في الحزب. بعد أن أصبح زعيم حزب العمال الألماني، خاطب هتلر حشدًا في 24 فبراير 1920، وفي محاولة لجذب شرائح أوسع من السكان الألمان، أعيد تسمية حزب العمال الألماني باسم حزب العمال القومي الاشتراكي الألماني (الحزب النازي) (NSDAP).
أنشلوس خلفية تاريخية
أعلن برنامج الاشتراكية القومية لعام 1920 بنده الأول، «نطالب بتوحيد جميع الألمان في ألمانيا الكبرى على أساس حق الشعب في تقرير المصير». ناقش هتلر في مقال عام 1921 بأن الرايخ الألماني تبنّى مهمة واحدة تمثّلت «بدمج عشرة ملايين ألماني نمساوي في الإمبراطورية وإزاحة عائلة هابسبورغ الحاكمة، التي تعتبر أتعس سلالة حاكمة على الإطلاق». سعى النازيون لتوحيد جميع الألمان ممن ولدوا أو عاشوا خارج الرايخ لإنشاء «الرايخ الألماني المطلق». كتب هتلر في كتابه «كفاحي» (بالألمانية: Mein Kampf)(1925) أنه سينشئ اتحادًا بين مسقط رأسه النمسا وألمانيا بشتَّى الوسائل الممكنة.
أنشلوس خلفية تاريخية
هيمن الحزب الاشتراكي المسيحي الكاثوليكي القومي المناهض للأنشلوس (CS) في أواخر عشرينيات القرن الماضي على الجمهورية النمساوية الأولى التي تفكّكت تدريجيًا منذ عام 1933 (بحلّ البرلمان وفرض حظر على الاشتراكيين الوطنيين النمساويين) حتى عام 1934 (مع نشوب الحرب الأهلية النمساوية في فبراير وفرض حظر على جميع الأطراف المتبقية باستثناء حزب CS). تطورت الحكومة إلى حكومة نقابوية (تشاركية) مؤلفة من حزب واحد جمع بين الحزب الاشتراكي المسيحي وقوات الحرس الوطني شبه العسكرية «هايمفير» (بالألمانية: (Heimwehr).