Modern gelişmelerle C ++'ımı nasıl güncel hale getirmeliyim? [kapalı]


9

Dilin ve en iyi uygulamaların geliştiğinden emin olduğum için çok paslı C ++ 'ı nasıl güncellemeliyim? Bunun konu dışı olmaya yakın olabileceğinin farkındayım, bu yüzden bazı detayları açıklamama izin verin. Yaklaşık 10 yıl önce iyi bir C ++ programcısı olduğumu düşünüyorum, Scott Meyers kitaplarını yutmuştum, Dr. Dobbs'daki tüysüz reklamlardaki bulmacaları çözebilirdim. Muhtemelen biraz dil avukatıydım. Çoğunlukla Java'yı programlıyorum, son 10 yıldır bazı pythonlar, bu yüzden OO becerilerim hala sıfır. Ancak C ++ 'ın yaygın olduğu bir şirkete katıldığımda, kendime hem paslı olduğumu hem de hatırladığımdan çok daha yeni veya daha yaygın olan dil özellikleri olduğunu kabul etmeliyim - isim alanları vb.

Okuma ve yazma kodunun (özellikle eşleştirme) hızlanmak için iyi bir yol olduğunu biliyorum, ancak insanların bana hızlandırılmış bir başlangıç ​​yapmak için bu konuda önerebilecekleri başka kaynaklar var. Kitap? İnternet sayfası? Öğreticiler?

Özetlemek:

  • C ++ 'a özgü tazeleme kaynakları için öneriler?
  • Genel olarak OO / programlama değil.
  • Sadece kod okuma ve yazma ek olarak.

Yanıtlar:


10

Eğer varsa zaten "yiyip Scott Meyers kitapları ", o zaman çok daha ileri olduğunu C ++ 10 yıl önce (IMHO) yaptığı ortalama adam. Kısa bir yenileme almak için Effective C ++ 'nın 3. sürümünü (ve Sutter / Alexandrescu'nun C ++ Kodlama Standartları kitabını) edinin ve gerçekten de gitmeye hazır olmalısınız.

Bu kitaplardaki öneriler (aslında 2005 sanırım) bugün olduğu kadar geçerli.

Oh, ve henüz yüklemediysen güçlendirmeyi yükle .

C ++ 'da yeniden başlatmanız için şanslı zaman, çünkü bu yıl ve C ++ 11 standardının yerleşmeye başladığı sonraki yıl çok sayıda yeniden başlatma türü kaynak ve kitap olacağından eminim.


Mükemmel öneriler. Scott Meyers geçen sene şirketimize geldi ve tüm geliştiricilerimize modern C ++ teknikleri üzerine iki günlük bir tazeleme kursu verdi. C ++ 'nın gerçek dünyada nasıl çalıştığını biliyor ve sadece teorileri olan başka bir akademisyen değil.
Karl Bielefeldt

2

1) c ++ 11 özelliklerine sahip modern bir derleyici ile başlayın (çalışmanızın, daha önce değilse bile, daha geç gerektireceğini varsayarsak)

2) mevcut programları (belki de evcil hayvan projelerinizi) alın ve daha modern kütüphaneleri (c ++ 11 standart kütüphaneleri veya yükseltme gibi ) kullanacak şekilde güncelleyin veya genişletin .

3) en son C ++ özelliklerini okuyun. ayrıca çok sayıda iyi kitap var. Modern C ++ Design'ı henüz okumadıysanız , tavsiye ederim. yokluğunuz sırasında tanıtılan ve honlanan c ++ tekniklerini kullanan gelişmiş tasarımlar için bir klasik.

bu bir başlangıç ​​noktası.


1

Nick,

Açık kaynaklı bir projeye katılmanızı öneririm. Sourceforge'a baktınız mı ? Bu herhangi bir dil için geçerli olabilir, ancak buradaki en önemli fayda, bir yazılım projesine katkıda bulunurken diğer geliştiricilerden öğrenmek. Açık kaynak kodlu bir projede çalışarak bazı ilginç stilleri ve dil özelliklerini kullanabilirsiniz. Bazıları iyi, bazıları kötü, bazıları ... sadece düz garip :).


4
Belki sadece şanssız oldum ama gördüğüm açık kaynak projeleri şimdiye kadar karşılaştığınız en korkunç kod bazı içeriyordu - onlar nasıl mükemmel örnekleri olarak kullanılabilir değil C / C ++ yazın. Bu nedenle, öğrenme uğruna açık kaynaklara bakmaya karar verirseniz, birçok programcının aktif olarak yer aldığı bir proje seçmenizi öneririm. Bu tür projelerin kaliteli kodlara sahip olma olasılığı daha yüksektir.

1

C ++ 'da bazı kod kata yapın: hanoi tower, ring buffer ve bu tür şeyler. Bunu yapmak sadece onunla ilgili kitap okumaktan çok daha verimli olacaktır - kitap okumak bilmediğiniz şeyleri öğrenmenize yardımcı olacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.