السلام عليكم
اردت ان افتح هذا الموضوع لسبب هام جداً, عندما اخذنا كورس مبسط للغه السى بلس بلس وفى اول محاضره حذرنا الدكتور من وجود الكثير من المراجع التى والكتب التى لا يمكن الاعتماد عليها لسبب عدم فهم كتابها لهذه اللغه, وقال فى ما قال ان اكثر من 90% من هذه الكتب مضرتها اكثر من فائدتها, والسبب هو ان هذه الكتب يعتمدون على إستنتاجات شخصيه بدلاً من التحليل العلمى للماده.
دعونى اضع بعض الامثله ونناقشها سوياً لنرى إن كان كلام الدكتور فى محله ام انه يهرف بما لا يعرف.
المثال الاول ساطرح كود يؤدى "نفس المهمه", ولكن بطريقتين مختلفتين ونرى ايهما الاصح ولماذا, والاقتراح الثانى هو الذى يمل له الدكتور.
class X{
int i;
public:
X(int ii){
i=ii;
}
};هذا الكونستروكتور يقوم بإعطاء القيمه داخل البرنامج كما هو موضح اعلاه. والان الطريقه الافضل حسب زعم الدكتور.
class X{
int i;
public:
X(int ii):i(ii){
}
};ايهما افضل ولماذا؟
المثال الثانى
#define f(x) x*x
والافضل
inline int f(const int x){
return x*x;
}ويفضل ان يعطى مثال توضيحى لماذا الحاله الثانيه افضل من الاولى
المثال الثالث
#define 100
والافضل
const int 100;
هذه بعض الامثله.
والكتب التى ينصح بها الدكتور هى كتاب The C++ Programming Language 3rd Edition (Stroustrap) ولكن هذا الكتاب معقد وصعب رغم ان مؤلف الكتاب هو مصمم السى بلس بلس.
هناك كتاب افضل منه الا وهو Thinking in c++ (Eckel) وانا ايضاً انصح به لانه افضل كتاب برئي المتواضع. وهو مجانى ويمكن الحصول عليه من http://www.planetpdf.com/developer/article...?ContentID=6634, يوجد نسختين, النسخه الاولى هى شرح كامل للغه والنسخه الثانيه هى تطبيق عملى وشرح لكيفيه إستخدام اللغه فى المشاريع الضخمه. الكتاب الاول قرابة 900 صفحه, الله يكون فى عونكم انا تقريباً إنتهيت من قرائته ولله الحمد.
ارجو المشاركه وإبداء الرائى
والسلام
