C ++-da son kitabçası və kitabların siyahısı

Bu sual C ++-da hər il nəşr olunan bir neçə pis kitab arasında bir neçə inci toplamaq üçün çalışır.

Tez-tez İnternetdə dərc olunmuş dərsliklərdən seçilmiş bir çox digər proqramlaşdırma dillərindən fərqli olaraq, bir çoxu yaxşı yazılı C ++ kitabını öyrənmədən C ++-ni tez bir zamanda ala bilər. Bunu etmək çox çətin və çətindir. Əslində, o qədər böyük və mürəkkəbdir ki , çox pis C ++ kitabları var . Və biz pis tərzdən danışmırıq, amma açıq-aydın açıq səhvləri idman etdirmək və olduqca pis proqramlaşdırma üslubları kimi şeylər.

Xahiş edirik, qəbul edilmiş cavabı keyfiyyət kitabları və təxminən səviyyədə bacarıqları təmin etmək üçün - C ++ söhbətinə əlavə olaraq müzakirə etdikdən sonra redaktə edin. (Daimi insanlar tövsiyə ilə razı olmadıqda işinizi acımasızca ləğv edə bilərlər.) Şəxsən oxuduğunuz və qəbul etdiyiniz hər bir kitabın qısa reklamı / təsviri əlavə edin. Keyfiyyəti, başlıqları və s. Mətnlərə uyğun olan kitablar siyahıya əlavə olunacaq. C və C ++ İstifadəçilər Assosiasiyasının (ACCU) nəzərdən keçirdiyi kitablar nəzərdən keçidlərə malikdir.

* Qeyd. Tez-tez verilən suallar və digər resurslar C ++ etiketində və Sub>

4250
23 дек. grepsedawk tərəfindən təyin 23 Dek . 2008-12-23 08:23 '08 at 8:23 PM 2008-12-23 08:23
ответ 1 cavab

təcrübəsiz

Təqdimat, proqramlaşdırma təcrübəsi yoxdur

  • C ++ + Primer * (Stanley Lippmann, José Lajay və Barbara E. Mu) ( C ++ 11 üçün yeniləndi ) Bu, C ++ -a çox ətraflı bir giriş olan 1 səhifəlik bir girişdir. Beşinci nəşr (16 Avqust 2012-ci il) C ++ 11-i əhatə edir. [İnceleme]

  • Proqramlaşdırma: C ++ ( Bjarn Straustrup, 2-ci nəşr - 25 may 2014-cü il) ( C ++ 11 / C ++ 14 üçün yeniləndi ) istifadə edərək prinsiplər və praktika C ++ dilinin yaradıcısını istifadə edərək proqramlaşdırmaya giriş. Yaxşı oxumaq, bu, əvvəlki proqramlaşdırma təcrübəsini deyil, yalnız yeni başlayanlar üçün nəzərdə tutmur.

* C + + Primer Plus (Stephen Prath) ilə qarışıq olmamaq, daha az əlverişli nəzərdən keçirilməlidir .

Təqdimat, əvvəlki proqramlaşdırma təcrübəsi ilə

  • C ++ Tour (Bjarne Straustrup) ( C ++ 17 üçün 2-ci nəşr ) Tour bütün standart C ++ (dil və standart kitabxana və C ++ 11 istifadə edərək ) orta səviyyəli dərslik üzrə qısa (180 səhifə və 14 fəsildən ibarətdir) C + + -ni artıq bilən insanlar üçün səviyyəli və ya ən azı təcrübəli proqramçılardır. Bu kitab C ++ proqramlaşdırma dilinin 2-5-ci fəsillərində, 4-cü nəşrdə genişlənmiş bir versiyasıdır.

  • Sürətləndirilmiş C ++ (Andrew Koenig və Barbara Mu, 1-ci nəşr - 24 avqust 2000-ci il) Bu əsasən C ++ Primer ilə eyni yerləri əhatə edir, lakin yerin dördüncü hissəsində belədir. Bu, əsasən, bu, proqramlaşdırma ilə tanış olmaq cəhdi deyil, lakin əvvəllər başqa bir dildə proqramlaşdırılmış olanlar üçün C ++-a giriş olmasıdır. Bu daha dərin bir öyrənmə curve var, lakin onu idarə edənlər üçün, bu dil üçün çox kompakt bir giriş. (Tarixən, dil öyrənməyə müasir bir yanaşma istifadə edən kitab açan ilk kişi idi). Buna baxmayaraq, o öyrədən C ++ tamamilə C ++ 98dir. [Review]

Ən yaxşı təcrübələr

  • Effektiv C ++ (Scott Meyers, 3-cü nəşr - 22 may 2005-ci il) Bu, proqramçıların oxumaq üçün lazım olan ən yaxşı ikinci C ++ kitabı olmaq məqsədi ilə yazılmışdır və bu, uğur qazanmışdır. Əvvəlki relizlər C-dən gələn proqramçılar üçün nəzərdə tutulmuşdur, üçüncü nəşr bu dəyişir və Java kimi dildə olan proqramçılar üçün nəzərdə tutulmuşdur. O, çox asanlıqla əlçatan (və xoş) bir üslubda mantığı ilə yanaşı, asanlıqla xatırlanacaq başlıq kodlarını təqdim edir. C ++ 11 və C ++ 14 üçün nümunələr və bəzi problemlər köhnəlmişdir və Effektiv Müasir C ++ üstünlükləri olmalıdır. [İnceleme]

  • Effektiv Müasir C ++ (Scott Meyers) C ++ proqramlarından istifadə edən C ++-dən 03 + C + + 11 və C ++ 14-ə keçid üçün əsasən effektiv C ++ versiyasıdır.

  • Effektiv STL (Scott Meyers) Bu, STL-dən çıxan standart kitabxananın eyni hissəsini yaratmaq üçün edilir və Effektiv C ++ bir bütün olaraq dil ilə təmin edir: praktikanın əsasları ilə birlikdə təqdim olunur. [İnceleme]

aralıq

  • Daha təsirli C ++ (Scott Meyers) Effektiv C ++-dan daha praktik qaydalar. İlk kitabda olduğu qədər əhəmiyyətli deyil, ancaq hələ bilmək faydalıdır.

  • Fövqəladə C ++ (Herb Sutter) Bulmacalar dəsti kimi təqdim edilən "Plugin Resources - Initialization (RAII)" vasitəsilə C ++-da müvafiq resursların idarə edilməsi və təhlükəsizlik istisnalarının ən yaxşı və ətraflı müzakirələrindən birini ehtiva edir, pimpl deyom da daxil olmaqla, , adı axtarış, yaxşı sinif dizaynı və C ++ yaddaş modeli. [İnceleme]

  • Daha Fövqəladə C ++ (Herb Sutter) C ++-da səmərəli obyekt yönümlü proqramlaşdırma və STL-dən düzgün istifadə edilməsi ilə yanaşı, İstisna C ++ əhatə olunmayan əlavə istisna təhlükəsizlik mövzularını əhatə edir. [İnceleme]

  • Fövqəladə C ++ Style (Herb Sutter) Ümumi proqramlaşdırma, optimallaşdırma və resursların idarə edilməsi məsələlərini müzakirə edir; bu kitabda qeyri-üzv funksiyaları və birgə məsuliyyət prinsipi istifadə edərək C ++ -da modul kodu yazmağın əla təqdimatı da var. [İnceleme]

  • C ++ Kodlama Standartları (Herb Sutter və Andrei Aleksandrescu) "Kodlama Standartları" burada "mənim kodu üçün neçə boşluq buraxmalı?" Demək deyildir. Bu kitabda düzgün, anlaşılabilir və effektiv C ++ kodunu yazmanıza kömək edə biləcək 101 ən yaxşı təcrübə, deyim və ümumi səhvlər var. [İnceleme]

  • C ++ Şablonları: Tam Kılavuz (David Vandevoorde və Nicolai M. Josuttis) C ++ 11-dən əvvəl mövcud olduqları kimi şablonları haqqında bir kitabdır. Bu, hər şeyi ən əsasdan ən qabaqcıl şablondan metafrogramma qədər əhatə edir və hər bir detalını necə izah edir. şablonları işləyir (həm konseptual və necə tətbiq olunur), həm də bir çox ümumi səhvləri müzakirə edir. Bu vahid müəyyən qayda (ODR) və tətbiqlərdə çox yüklənmə qətnaməsinin əla xülasəsidir. C ++ 11, C ++ 14 və C ++ 17-i əhatə edən ikinci nəşr artıq nəşr olunmuşdur. [İnceleme]

  • C ++ 17 - Tam Kılavuz (Nikolai M. Josuttis) Bu kitab, C ++ 17 standartında təqdim olunan bütün yeni funksiyaları təsvir edir, hər şeyə sadə, məsələn, "daxili dəyişənlər", "constexpr" və "Polimorfik yaddaş resursları" "və" Yeni və silinmiş məlumatlar köçürülmüş məlumatlarla ".


border=0

inkişaf etmiş

  • Müasir C ++ Dizaynı (Andrei Aleksandrescu) İrəli ümumi proqramlaşdırma üsulları haqqında yenilikçi bir kitab. Siyasətə əsaslanan dizayn, tip siyahıları və ümumi ümumi proqramlaşdırma iddiaları təqdim edir və daha sonra, neçə faydalı dizayn nümunəsini (kiçik obyektə ayırıcılar, fəhlələr, fabriklər, qonaqlar və çox metodlar daxil olmaqla) effektiv, modulli və tamamilə universal proqramlaşdırma vasitəsi ilə həyata keçirə bilər. ., [İnceleme]

  • C ++ Metaprogramming Şablonu (David Abrahams və Alexey Gurtovoy)

  • C ++ Eşzamanlılıq Fəaliyyətdə (Anthony Williams) C ++ 11 dəstəyi əhatə edən bir kitab, bir mövzu kütüphanesi, atom kütüphanesi, C ++ yaddaş modeli, qıfıllar və mutekslər, həmçinin çox yivli proqramların dizaynı və işlənilməsi daxildir.

  • Advanced C ++ Metaprogramming (Davide Di Gennaro) TMP-də C ++ 11-ə dair ilkin təlimat nəzəriyyədən daha çox praktikaya yönəlmişdir. Bu kitabda bir çox fragmentlər var, bəziləri tip xüsusiyyətlərinə görə köhnəlmişdir, lakin üsullar hələ də bilmək üçün faydalıdır. Təəccüblü biçimlendirme / redaktə etməklə, Alexandrescu'dan daha oxumaq daha asandır və bəlkə də daha faydalıdır. Daha təcrübəli inkişafçılar üçün, C ++ (fads) qaranlıq küncündə bir şey tapa biləcəyiniz yaxşı bir şans var ki, bu da adətən yalnız geniş təcrübədir.


border=0

Link stili - bütün səviyyələrdə

C ++ 11/14/17 / ... References:

  • C ++ 11/14/17 Standart (INCITS / ISO / IEC 14882: 2011/2014/2017) Bu, əlbəttə ki, C ++ olan və ya olmayan hər şeyin son arbitridir. Bununla yanaşı, bunun yalnız anlamaq üçün böyük vaxt və səy sərf etmək istəyən təcrübəli istifadəçilər üçün istinad kimi nəzərdə tutulduğunu unutmayın. Standart C ++ 17 elektron şüarına görə 198 İsveçrə frankı satılır.

  • C ++ 17 standartı mövcuddur, ancaq, görünür, iqtisadi formatda deyil - doğrudan ISO-dan 198 İsveçrə frankına (təxminən 200 ABŞ dolları) başa gəlir. Çox insan üçün, standartlaşmadan əvvəl yekun layihə daha çox (və pulsuz) daha çoxdur. Bir çoxları C ++ 20-də daxil olma ehtimalı olan yeni xüsusiyyətləri sənədləşdirmək üçün daha yeni bir layihəni seçəcəklər .

  • C ++ (C ++ 11/14) (C ++ 11/14) (yalnız PDF) (Scott Meyers) ( C ++ 14 üçün yenilənmişdir ) Bunlar çox hörmətli C ++ müəllifi olan Scott Meyers tərəfindən təqdim olunan üç günlük təlim kursunun təqdimat materiallarıdır (slaydlar və bəzi dərs qeydləri). Maddələrin siyahısı qısa olsa da, keyfiyyət yüksəkdir.

  • C ++ Əsas Kılavuzu (C ++ 11/14/17 / ...) (Bjarn Stroustrup və Herb Satter tərəfindən düzəldilmişdir) müasir C ++ quyusunun istifadəsi üçün bir sıra tövsiyələrdən ibarət inkişaf edən bir onlayn sənəddir. Təlimatlar ərizə və kitabxana dizaynının mimarlığını təsir edən interfeyslər, resurs idarəçiliyi, yaddaş idarəçiliyi və paralellik kimi yüksək səviyyəli məsələlərə yönəldilir. Layihə CppCon'15-də Bjarn Straustrup və başqaları tərəfindən elan edilmiş və ictimaiyyətin girişini alqışlayır. Əlavələrin əksəriyyəti mə'lumat və nümunələrlə yanaşı, alətə mümkün dəstəklə bağlı müzakirələrlə də təmin olunur. Bir çox qaydalar xüsusi statik analiz vasitələrini istifadə edərək avtomatik yoxlama üçün nəzərdə tutulmuşdur.

  • Super-FAQ C ++ (Marshall Cline, Bjarne Stroustrup və s.) Standard C ++ Fondu tərəfindən Marshall Cline və Bjarne Stroustrup tərəfindən əvvəllər ayrı-ayrılıqda dəstəklənilən C ++ tez-tez verilən sualları birləşdirmək cəhdidir və yeni materiallar daxildir. Mövzular əsasən ara səviyyədə suallar verir və tez-tez bir zarafat tonu ilə yazılır. Bütün elementlər C ++ standartının ən son versiyasına tam olaraq yenilənə bilməz.

  • cppreference.com (C + + 03/11/14/17 / ...) (Nate Kohl tərəfindən başlayan) əsas dilin əsas funksiyalarını özündə əks etdirən və C ++ standart kitabxanasının geniş sənədlərinə malik olan bir wikidir . Sənədlər çox dəqiqdir, lakin rəsmi standart sənəddən daha asan oxumaq daha asandır və onun wiki təbiətinə görə daha yaxşı naviqasiya təmin edir. Layihə, C ++ standartının bütün versiyalarını sənədləşdirir və sayt müəyyən bir versiya üçün ekranı silməyə imkan verir. Layihə CepCon'14də Nate Kohl tərəfindən təqdim edildi .


border=0

Klassik / Yaşlı

Qeyd Bu kitablarda yer alan bəzi məlumatlar köhnəlmiş və ya artıq ən yaxşı təcrübə hesab edilə bilməz.

  • C ++ dizaynı və inkişafı (Bjarne Straustrup) Əgər dilin nə olduğunu bilmək istəyirsinizsə, bu kitab cavabları tapa bilərsiniz. Bu, C ++ standartlaşdırmadan əvvəl hər şeyi əhatə edir.

  • C ++ üzərində düşüncə (Andrew Koenig və Barbara Mu) [İnceleme]

  • Genişləndirilmiş C ++ Proqramlaşdırma Stil Deyimləri (Ceyms Koplien) Dəyişiklik nümunələrinin bir xəbərçisi, o, bir çox C ++ xüsusi "deyimləri" ni təsvir edir. Bu, əlbəttə ki, çox yaxşı bir kitabdır və vaxtınızı qurtarsa ​​oxumağa dəyər ola bilər, amma bu, cari C ++ hadisələrindən asılı olmayaraq çox köhnədir.

  • Böyük miqyaslı C ++ Proqramlaşdırma Dizaynı (John Lacos) Lacos çox böyük C ++ proqramlarının idarə olunması metodlarını izah edir. Əlbəttə ki, yaxşı olarsa, yaxşı olardı. C ++ 98-dən çox yazılı və böyük miqyaslı layihələr üçün vacib olan bir çox funksiyaları (məsələn, ad boşluqları) atlayaraq yazılmışdır. Böyük bir C ++ proqramı üzərində işləməlisinizsə, onu oxumaq istəyə bilərsiniz, baxmayaraq ki, sizinlə bir az duz gətirmək lazımdır. Yeni nəşrin ilk cildi 2018-ci ildə gözlənilir .

  • C ++ obyekt modelinin içərisində (Stanley Lippman) Əgər virtual üzv funksiyaları adətən necə yerinə yetirildiyini və bir çox miraslı skriptdə əsas obyektlərin yaddaşda necə yerləşdirildiyini və bunun necə performansa necə təsir etdiyini öyrənmək istəyirsinizsə, burada bu cür mövzuların ətraflı müzakirələrini tapa bilərsiniz. .

  • C ++ Annotated Reference Manual (Bjarne Stroustrup, Margaret A. Ellis) Bu kitab, 1989-cu ildəki C ++ 2.0 versiyasını əhatə etdiyindən çox köhnəlmişdir - nümunələr, istisnalar, ad boşluqları və yeni salmalar hələ təqdim edilməmişdir. Lakin, bu kitabın həmin dövrün bütün C ++ standartlarını keçdiyini söyləyərək, dilin əsaslandırılması, mümkün tətbiqləri və xüsusiyyətlərini izah edir. C ++ proqramı prinsiplərini və nümunələrini öyrənmək üçün deyil, C ++ dilinin hər aspektini anlamaq üçün kitab deyil.

  • C ++-da düşünmək (Bruce Ekel, 2-ci nəşr, 2000). İki həcm; Bu, giriş səviyyəli dərsliklərin pulsuz bir dəstidir. Yükləmələr: Cild 1 , Cild 2 . Təəssüf ki, bir sıra qeyri-adi səhvlər (məsələn, const avtomatik olaraq müvəqqəti quruluşlar olduğunu iddia edir), gömrük sənədlərinin rəsmi siyahısı olmadan kölgə salırlar. Partiyanın 3-cü tərəfi səhv siyahı ( http://www.computersciencelab.com/Eckel.htm ) mövcuddur, lakin bu, dəstəklənən görünmür.

  • Elmi və texniki C ++: Advanced Methods və Nümunələrə Giriş (John Barton və Lee Nackman) C ++-da nümunəvi metodlar kontekstində mövcud olan bütün funksiyaları izah etməyə və istifadə etməyə çalışmış geniş və ətraflı bir kitabdır. O zaman, o, maraqlı nümunə təkrarlama nümunəsi (CRTP, həmçinin Barton-Nackman hiylə adı) kimi bir sıra yeni üsullar təqdim etdi. Əvvəlcə ölçülü analiz və avtomatik fərqləndirmə kimi bir neçə üsul tətbiq etmişdir. Bu tərtib edilmiş və faydalı kodun çox sayda ifadəsi ilə gəlir, bu ifadənin ayrıştırıcısından Lapack bantına qədər. Kod hələ də mövcuddur: http://www.informit.com/store/scientific-and-engineering-c-plus-plus-an-introduction-9780201533934 . Təəssüf ki, kitablar C ++ üslubunda və xüsusiyyətlərində bir qədər köhnəlmişdi, ancaq bu zaman inanılmaz bir səyahət (1994, pre-STL) idi. Miras dinamikası fəsillərini anlamaq bir az çətindir və çox faydalı deyil. Bu klassik kitabın yenilənmiş versiyası, hərəkət semantiklərini və STL-dən öyrənilmiş dərsləri birləşdirən çox yaxşı olardı.

4251
23 дек. Yanıt Johannes Schaub verildi - litb 23 dekabr . 2008-12-23 08:52 '08 saat 08:52 'da 2008-12-23 08:52