c++ - و C ++ كتاب دليل وقائمة


هذا السؤال يحاول جمع اللآلئ القليلة من بين عشرات الكتب السيئة C ++ التي تنشر كل عام.

على عكس العديد من لغات البرمجة الأخرى، والتي غالبا ما التقطت على الذهاب من الدروس وجدت على شبكة الإنترنت، وقلة قادرة على اختيار بسرعة C ++ دون دراسة كتاب C ++ مكتوبة بشكل جيد. انها طريقة كبيرة جدا ومعقدة للقيام بذلك. في الواقع، فمن كبيرة جدا ومعقدة، أن هناك الكثير جدا سيئة C ++ الكتب هناك. ونحن لا نتحدث عن أسلوب سيئ، ولكن الأمور مثل الرياضية أخطاء واقعية واضحة بشكل واضح وتعزيز أنماط البرمجة سيئة أبسمالي .

يرجى تعديل الإجابة المقبولة لتوفير كتب عالية الجودة ومستوى مهارة تقريبي - يفضل بعد مناقشة إضافتك في غرفة الدردشة C ++ . (قد يلغي النظامي دون رحمة عملك إذا لم يوافقوا على توصية.) أضف إختصار / وصف قصير عن كل كتاب كنت قد قرأته / استفادت منه شخصيا. لا تتردد في مناقشة الجودة، والعناوين، الخ الكتب التي تفي بالمعايير ستضاف إلى القائمة. الكتب التي لديها استعراض من قبل رابطة C و C ++ المستخدمين (أكو) لديها وصلات إلى الاستعراض.

ملاحظة: يمكن العثور على الأسئلة الشائعة والموارد الأخرى في معلومات علامة C ++ وتحت c ++ - فاق . وهناك أيضا وظيفة مماثلة ل C: النهائي C دليل الكتاب وقائمة




Answers


مبتدئ

تمهيدية، أي خبرة البرمجة السابقة

تمهيدية، مع تجربة البرمجة السابقة

  • C ++ بريمر * (ستانلي ليبمان، جوزي لاجوي، وباربرا E. مو) ( تم تحديثها ل C ++ 11 ) يأتي في صفحة 1K، وهذا هو مقدمة شاملة جدا في C ++ التي تغطي فقط كل شيء في اللغة في شكل يسهل الوصول إليه جدا وبتفصيل كبير. الطبعة الخامسة (صدر 16 أغسطس 2012) تغطي C ++ 11. [إعادة النظر]

  • A جولة في C ++ (بجارن ستروستروب) (إبوك) و "جولة" هو سريع (حوالي 180 صفحة و 14 فصول) نظرة عامة البرنامج التعليمي لجميع من C ++ القياسية (اللغة والمكتبة القياسية، واستخدام C ++ 11 ) على ارتفاع معتدل مستوى للأشخاص الذين يعرفون بالفعل C ++ أو على الأقل من المبرمجين ذوي الخبرة. هذا الكتاب هو نسخة موسعة من المواد التي تشكل الفصول 2-5 من لغة البرمجة C ++، الطبعة 4th.

  • تسريع C ++ (أندرو كوينيغ وبربارة مو) وهذا أساسا يغطي نفس الأرض مثل C ++ التمهيدي ، ولكن يفعل ذلك على ربع مساحة لها. هذا كبير لأنه لا يحاول أن يكون مقدمة للبرمجة ، ولكن مقدمة ل C ++ للأشخاص الذين سبق برمجتها في بعض اللغات الأخرى. لديها منحنى التعلم أكثر انحدارا، ولكن بالنسبة لأولئك الذين يستطيعون التعامل مع هذا، هو مقدمة صغيرة جدا للغة. (تاريخيا، انها كسرت أرضية جديدة من خلال كونها أول كتاب المبتدئين لاستخدام نهج حديث لتعليم اللغة.) [مراجعة]

* لا ينبغي الخلط بينه وبين C ++ بريمر بلوس (ستيفن براتا)، مع استعراض أقل إيجابية بكثير.

أفضل الممارسات

  • فعالية C ++ (سكوت مايرز) وقد كتب هذا بهدف كونه أفضل كتاب الثاني C ++ المبرمجين يجب قراءة، ونجحت. وكانت الإصدارات السابقة تستهدف المبرمجين القادمين من C، الطبعة الثالثة تغير هذا ويستهدف المبرمجين القادمة من لغات مثل جافا. ويعرض ~ 50 سهلة لتذكر قواعد الإبهام جنبا إلى جنب مع الأساس المنطقي في أسلوب الوصول إليها جدا (وممتعة). ل C ++ 11 و C ++ 14 الأمثلة وعدد قليل من القضايا التي عفا عليها الزمن وينبغي أن تكون فعالة C ++ الحديثة. [إعادة النظر]

  • فعالية C ++ الحديثة (سكوت مايرز) هذا هو في الأساس النسخة الجديدة من فعالية C ++ ، التي تهدف إلى المبرمجين C ++ الانتقال من C ++ 03 إلى C ++ 11 و C ++ 14.

  • فعال ستل (سكوت مايرز) ويهدف هذا إلى أن تفعل الشيء نفسه إلى جزء من المكتبة القياسية القادمة من المحكمة الخاصة بلبنان ما فعلت C ++ الفعلية للغة ككل: ويعرض قواعد الإبهام مع الأساس المنطقي لها. [إعادة النظر]

متوسط

  • أكثر فعالية C ++ (سكوت مايرز) حتى أكثر من قواعد الإبهام من C ++ الفعال . لا يقل أهمية عن تلك الموجودة في الكتاب الأول، ولكن لا تزال جيدة لمعرفة.

  • استثنائية C ++ (عشب سوتر) قدمت كمجموعة من الألغاز، وهذا واحد من أفضل ومناقشات شاملة لإدارة الموارد السليمة واستثناء السلامة في C ++ من خلال اقتناء الموارد هو التهيئة (راي) بالإضافة إلى تغطية متعمقة لمجموعة متنوعة من الموضوعات الأخرى بما في ذلك لغة البدل، اسم البحث، تصميم الطبقة الجيدة، و C ++ نموذج الذاكرة. [إعادة النظر]

  • أكثر استثنائية C ++ (هيرب سوتر) يغطي مواضيع السلامة استثناء إضافية لا تغطيها في C ++ استثنائية ، بالإضافة إلى مناقشة البرمجة وجوه المنحى الفعال في C ++ والاستخدام الصحيح للمحكمة الخاصة بلبنان. [إعادة النظر]

  • استثنائي C ++ ستايل (هيرب سوتر) يناقش البرمجة العامة، والتحسين، وإدارة الموارد. يحتوي هذا الكتاب أيضا على معرض ممتاز لكيفية كتابة رمز وحدات في C ++ باستخدام وظائف غير الأعضاء ومبدأ المسؤولية واحدة. [إعادة النظر]

  • C ++ معايير الترميز (هيرب سوتر أندري أليكساندريسكو) "معايير الترميز" هنا لا يعني "كم عدد المسافات التي يجب تسويتها؟" يحتوي هذا الكتاب على 101 أفضل الممارسات، والتعابير، والمزالق المشتركة التي يمكن أن تساعدك على كتابة الصحيح، مفهومة، وكفاءة C ++ رمز. [إعادة النظر]

  • C ++ قوالب: الدليل الكامل (ديفيد فانديفورد و نيكولاي M. جوسوتيس) هذا هو الكتاب عن القوالب كما كانت موجودة قبل C ++ 11. وهو يغطي كل شيء من الأساسيات الأساسية إلى بعض من ميتابروغرامينغ قالب الأكثر تقدما ويوضح كل التفاصيل لكيفية عمل قوالب (على حد سواء من الناحية المفاهيمية وكيفية تنفيذها) ويناقش العديد من المزالق المشتركة. لديه ملخصات ممتازة من قاعدة تعريف واحد (أودر) وحل الزائد في الملاحق. وقد نشرت بالفعل طبعة ثانية تغطي C ++ 11، C ++ 14 و C ++ 17. [إعادة النظر]

المتقدمة

  • تصميم C ++ الحديث (أندريه أليكساندريسكو) كتاب رائد حول تقنيات البرمجة العامة المتقدمة. يقدم التصميم القائم على السياسات، وقوائم نوع، والتعابير البرمجة العامة الأساسية ثم يفسر كيف العديد من أنماط التصميم المفيدة (بما في ذلك توزيعات الكائن الصغيرة، فونكتورس والمصانع والزوار، وأساليب متعددة) يمكن تنفيذها بكفاءة، مودولارلي، ونظيفة باستخدام البرمجة العامة . [إعادة النظر]

  • C ++ قالب ميتابروغرامينغ (ديفيد أبراهامز و أليكسي غورتوفوي)

  • C ++ التزامن في العمل (أنثوني ويليامز) كتاب يغطي C ++ 11 دعم التزامن بما في ذلك مكتبة الترابط، مكتبة أتوميكس، نموذج الذاكرة C ++، الأقفال والمكسرات، فضلا عن قضايا تصميم وتصحيح التطبيقات متعددة مؤشرات.

  • المتقدم C ++ ميتابروغرامينغ (دافيد دي جينارو) دليل ما قبل C ++ 11 من تقنيات تمب، وتركز أكثر على الممارسة من النظرية. هناك طن من المقتطفات في هذا الكتاب، وبعضها قد عفا عليها الزمن حسب سمات النوع، ولكن التقنيات، ومع ذلك من المفيد أن تعرف. إذا كنت يمكن أن تطرح مع تنسيق ملتوي / التحرير، فمن الأسهل أن تقرأ من الكسندريسكو، ويمكن القول، أكثر جدوى. لمزيد من المطورين من ذوي الخبرة، وهناك فرصة جيدة أن كنت قد التقاط شيء عن زاوية مظلمة من C ++ (كروك) التي عادة ما يأتي فقط عن طريق خبرة واسعة.

نمط المرجعية - جميع المستويات

  • لغة البرمجة C ++ (بجارن ستروستروب) ( تحديث ل C ++ 11 ) مقدمة الكلاسيكية ل C ++ من قبل الخالق. كتب إلى موازية K & R الكلاسيكية، وهذا يقرأ في الواقع كثيرا مثل ذلك ويغطي فقط كل شيء من اللغة الأساسية إلى المكتبة القياسية، لنماذج البرمجة لفلسفة اللغة. [إعادة النظر]

  • C ++ مكتبة قياسية البرنامج التعليمي والمرجع (نيكولاي جوسوتيس) ( تحديث ل C ++ 11 ) مقدمة والمرجعية لمكتبة C ++ القياسية. الطبعة الثانية (صدر في 9 أبريل 2012) يغطي C ++ 11. [إعادة النظر]

  • و C ++ إو تيارات و لوكاليس (انجليكا لانجر وكلاوس كريفت) هناك القليل جدا أن نقول عن هذا الكتاب إلا أنه إذا كنت تريد أن تعرف أي شيء عن تيارات والمحليات، ثم وهذا هو مكان واحد للعثور على إجابات نهائية. [إعادة النظر]

C ++ 11/14 المراجع:

  • و C ++ ستاندارد (إنسيتس / إسو / إيك 14882-2011) وهذا بالطبع هو الحكم النهائي لكل ما هو أو ليس C ++. ومع ذلك، كن على علم بأن الغرض منه هو فقط كمرجع للمستخدمين ذوي الخبرة على استعداد لتكريس وقت كبير وجهد كبير لفهمها. وكالمعتاد، كان الإصدار الأول مكلفا جدا (300 دولار أمريكي + أمريكي)، ولكن تم إصداره الآن في شكل إلكتروني مقابل 60 دولار أمريكي.

  • معيار C ++ 14 متاح، ولكن يبدو ليس في شكل اقتصادي - مباشرة من إسو يكلف 198 فرنك سويسري (حوالي 200 دولار أمريكي). وبالنسبة لمعظم الناس، فإن المسودة النهائية قبل التقييس هي أكثر من كافية (ومجانية). وسوف يفضل الكثيرون مسودة أحدث ، توثق ميزات جديدة من المرجح أن تدرج في C ++ 17.

  • نظرة عامة على C ++ الجديدة (C ++ 11/14) (بدف فقط) (سكوت مايرز) ( تم تحديثها ل C ++ 1y / C ++ 14 ) هذه هي مواد العرض (الشرائح وبعض ملاحظات المحاضرات) اليوم الذي قدمه سكوت مايرز، وهو مؤلف محترم للغاية على C ++. على الرغم من أن قائمة البنود قصيرة، ونوعية عالية.

  • المبادئ التوجيهية C ++ الأساسية (C ++ 11/14/17 / ...) (تحرير بيجارن ستروستروب و هيرب سوتر) هو وثيقة على الانترنت تتطور تتكون من مجموعة من المبادئ التوجيهية لاستخدام C ++ الحديثة بشكل جيد. وتركز المبادئ التوجيهية على قضايا ذات مستوى أعلى نسبيا، مثل الواجهات، وإدارة الموارد، وإدارة الذاكرة، والتزامن الذي يؤثر على معمارية التطبيق وتصميم المكتبة. تم الإعلان عن المشروع في CppCon'15 من قبل بجارن ستروستروب وغيرها ويرحب بالمساهمات من المجتمع. وتستكمل معظم المبادئ التوجيهية بمبررات وأمثلة، فضلا عن مناقشات بشأن إمكانية دعم الأدوات. تم تصميم العديد من القواعد خصيصا ليتم التحقق منها تلقائيا بواسطة أدوات التحليل الثابت.

  • و C ++ سوبر فاق (مارشال كلاين، بجارن ستروستروب وغيرها) هو جهد من قبل مؤسسة ستاندرد C ++ لتوحيد C ++ أسئلة وأجوبة حافظت سابقا بشكل فردي من قبل مارشال كلاين و بجارن ستروستروب وأيضا إدراج مساهمات جديدة. البنود في الغالب معالجة القضايا على المستوى المتوسط ​​وغالبا ما تكون مكتوبة مع لهجة روح الدعابة. ليس كل العناصر قد تكون كاملة حتى الآن مع أحدث طبعة من معيار C ++ حتى الآن.

  • cppreference.com (C ++ 03/11/14/17 / ...) (التي بدأها نيت كول) هو ويكي يلخص الميزات الأساسية اللغة الأساسية ولها وثائق واسعة من المكتبة القياسية C ++. الوثائق دقيقة جدا ولكن أسهل للقراءة من الوثيقة القياسية الرسمية ويوفر أفضل الملاحة بسبب طبيعته ويكي. يوثق المشروع جميع إصدارات معيار C ++ ويسمح الموقع بتصفية الشاشة لإصدار محدد. وقدم المشروع نيت كوهل في CppCon'14 .

كلاسيكيات / أقدم

ملاحظة: قد لا تكون بعض المعلومات الواردة في هذه الكتب محدثة أو لم تعد تعتبر أفضل الممارسات.

  • تصميم وتطور C ++ (بجارن ستروستروب) إذا كنت تريد أن تعرف لماذا هي اللغة هي الطريقة، وهذا الكتاب هو المكان الذي تجد إجابات. وهذا يغطي كل شيء قبل توحيد C ++.

  • الإغواء على C ++ - (أندرو كوينيج وبربارة مو) [مراجعة]

  • متقدم C ++ برمجة الأنماط والأديوميات (جيمس كوبلين) سلف حركة نمط، فإنه يصف العديد من C ++ - محددة "التعابير". انها بالتأكيد كتاب جيد جدا، وربما لا يزال يستحق القراءة إذا كنت يمكن أن تجنيب الوقت، ولكن قديمة جدا وليس ما يصل إلى موعد مع C ++ الحالي.

  • مقياس كبير C ++ تصميم البرمجيات (جون لاكوس) لاكوس يشرح تقنيات لإدارة مشاريع البرمجيات C ++ كبيرة جدا. بالتأكيد، قراءة جيدة، إذا كان فقط حتى الآن. وقد كتب منذ فترة طويلة قبل C ++ 98 ويفتقد على العديد من الميزات (على سبيل المثال نامسباسس) مهمة للمشاريع واسعة النطاق. إذا كنت بحاجة إلى العمل في مشروع كبير C ++ البرمجيات، قد ترغب في قراءته، على الرغم من أنك تحتاج إلى اتخاذ أكثر من حبة الملح معها. ومن المتوقع أن يصدر المجلد الأول من الطبعة الجديدة في عام 2018 .

  • داخل نموذج كائن C ++ (ستانلي ليبمان) إذا كنت تريد أن تعرف كيف يتم تنفيذ وظائف الأعضاء الظاهرية بشكل شائع وكيف يتم وضع الأشياء الأساسية بشكل عام في الذاكرة في سيناريو متعدد الوراثة، وكيف يؤثر كل هذا على الأداء، وهذا هو المكان الذي سوف تجد مناقشات شاملة لمثل هذه المواضيع.

  • دليل C ++ المشروح المرجع (بجارن ستروستروب، مارغريت A. إليس) هذا الكتاب هو قديم جدا في حقيقة أنه يستكشف النسخة C ++ 2.0 1989 - قوالب، والاستثناءات، مساحات الاسم و يلقي جديدة لم يتم إدخالها بعد. ومع ذلك، فإن هذا الكتاب يذهب من خلال معيار C ++ بأكمله من الوقت شرح المنطق، والتنفيذات الممكنة، وميزات اللغة. هذا ليس كتابا لتعلم مبادئ البرمجة والأنماط على C ++، ولكن لفهم كل جانب من جوانب لغة C ++.

  • التفكير في C ++ (بروس إكيل) مجلدين؛ هو أسلوب تعليمي مجموعة مجانية من الكتب مستوى مقدمة. التنزيلات: المجلد 1 ، المجلد 2 . ولسوء الحظ، فإنهم يتشوهون بعدد من الأخطاء التافهة (مثل الحفاظ على أن المؤقتين const تلقائيا)، دون وجود قائمة رسمية للخطابات. توجد قائمة خاطئة من طرف ثالث في الموقع ( http://www.computersciencelab.com/Eckel.htm )، ولكن يبدو أنه لم يتم الاحتفاظ بها.

  • العلوم والهندسة C ++: مقدمة في تقنيات متقدمة وأمثلة (جون بارتون ولي نكمان) وهو كتاب شامل ومفصل جدا الذي حاول أن يشرح والاستفادة من جميع الميزات المتوفرة في C ++، في سياق الطرق العددية. وقدم في ذلك الوقت العديد من التقنيات الجديدة، مثل نمط قالب متكرر الغريب (كرتب، وتسمى أيضا خدعة بارتون-نكمان). وقد كانت رائدة في العديد من التقنيات مثل التحليل الأبعاد والتمايز التلقائي. جاء مع الكثير من التعليمات البرمجية القابلة للتجميع والمفيدة، بدءا من محلل التعبير إلى المجمع لاباك. لا تزال التعليمات البرمجية متاحة هنا: http://www.informit.com/store/scientific-and-engineering-c-plus-plus-an-introduction-9780201533934 . لسوء الحظ، أصبحت الكتب قديمة إلى حد ما في نمط و C ++ الميزات، ومع ذلك، كان لا يصدق جولة في القوة في ذلك الوقت (1994، ما قبل المحكمة الخاصة بلبنان). فالفصول المتعلقة بالميراث الديناميكي معقدة إلى حد ما لفهمها وليست مفيدة جدا. نسخة محدثة من هذا الكتاب الكلاسيكي الذي يتضمن نقل الدلالات والدروس المستفادة من المحكمة الخاصة بلبنان سيكون لطيفا جدا.