المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : الفرق بين <iostream.h> و <iostream>


عبد الله الساهر
Oct 2005, 06:23 AM
واحدة بامتداد والأخرى من غير امتداد .....؟ فما هو الفرق ..؟

للذين لايعرفون الفرق إليكم بهذه المعلومة ..

طبعا كلنا نعلم بوجود مكتبة السي++ القياسية أو Standard C++ Library . يوجد من هذه المكتبة نسختين واحدة قديمة والاخرى حديثة . القدية ظهرت مع ظهور السي++ . وكانت تحتوي على القليل من الClasses من أهمهم ال iostream و fstream و .... . ومع زيادة المتطلبات وظهور ال STL (Standard Template Library) . تم اصدار نسخة جديدة من مكتبة السي++ القياسية ..

فمن أجل أن تفرق في مابينهم في الفيجوال سي++ : إذا أردت استخدام القديمة أكتب أسماء الملفات مع ذكر الامتداد والجديدة اكتبهم من غير امتداد ..

طبعا سوف تختلف المكتبة التي سوف يربط معاها برنامجك ، ففي حالة الربط الديناميكي فسوف تستخدم هذه المكتبات :
MSVCRT.DLL : في حالة مكتبة السي القياسية .
MSCVIRT.DLL : في حالة مكتبة السي ++ القياسية القديمة .
MCVCPRT.DLL : في حالة مكتبة السي ++ القياسية الجديدة .

ولكن يحب أن ننتبه إلى موضوع وهو أنه عندما نكتب فإن المترجم يحولها إلى :

#include namespace std {}

وبالتالي فإن جميع التعريفات والتصريحات دخل المكتبة سوف تكون داخل ال std scope وبالتالي يجب أن تكتب التالي من أجل الطباعة مثلا :


std::cout << “Hello World” << std::endl;

أو تقوم بالتصريح عن استخدام ال std scope في أول برنامجك بعد قسم الinclude كالتالي :


using namespace std;

وبعدها يمكن الكتابة عادي :


cout << “Hello World” << endl;

وشكرا

أحمد نسيب
Oct 2005, 02:52 AM
الف شكر أخي عبدالله على التوضيح

سلامي لك

صمت الجمال
Oct 2005, 10:00 PM
يعطيك العافية الاستاذ الدووو رائع


عبد الله


والله درس مفيد وانا اجهل الفرق وتشكر على التوضيح

عبد الله الساهر
Dec 2005, 06:54 AM
الله يخليك


kyubee kid & صوووومت


انتما الاجمل

أمـ جود ـ
Dec 2005, 01:05 PM
يسلموا عبادي الرائع

عبد الله الساهر
Dec 2005, 03:57 AM
يخليك القيصر الاروع