Kesinlikle. Bu günlerde genellikle 2. derste olan üç şey çok daha sonra hareket etmelidir:
- char *, strlen, strxxx yöntemleri vb. gibi dizeler
- genel olarak diziler ve işaretçi aritmetiği
- yenilerini sil, [] yenilerini [] sil ve hatta yıkıcılar
Genellikle 99. derste olan şeyler çok, çok daha erken hareket etmelidir.
- kullanılacak şeyler olarak şablonlar (çok fazla değil)
- std :: string
- std :: Shared_ptr <>
- std :: vector <>, yineleyiciler, diğer koleksiyonlar
Evey ham işaretçisi hemen akıllı işaretçi sarıcısına verilmelidir (paylaşılanla başlayacağım ve daha sonra benzersiz düşüneceğim çünkü std :: move ve rvalue referanslarını açıklamak gerekiyor). Bunu yapmak, C ++ 'ı öğrenmek, kütüphaneyi dille aynı anda öğrendiğiniz Java veya C # öğrenmek gibi hissetmenizi sağlar. Bu, hafıza çalışmalarının çoğunu da alacak ve insanları gotchas için daha az endişeli bırakacaktır.
Koleksiyonda tekrarlamak istediğimiz ve her öğeye bir şeyler yapmak istediğimizde, Lambdas'ı ilk kez resme dahil ederdim.
Yasal Uyarı: Şu anda Çoğulculuk için bir C ++ kursu yazıyorum ve bu yaklaşımı kullanıyorum. Son modül “başkalarının kodunu anlamak” ve char * dizgileri, manuel bellek yönetimi, işaretçi aritmetiği ve benzeri gibi kafa karıştırıcı şeyleri koyacağım yer.
Güncelleme: birkaç kişi neden C ++ 0x 'in varlığının C ++ 03 ile öğretilebilecekleri öğretmeye neden olduğunu sordu. Bence bir çok şey var:
- koleksiyon dostu olan gerçekten akıllı işaretçiler, her zaman yeni / silme, işaretçi aritmetik vb. geri çekilmemize neden olan "Çalışan işaretçiler dizisi" gibi şeylere olan ihtiyacı ortadan kaldırıyor.
- otomatik yineleyici beyanları acısını ortadan kaldırır
- lambdas sıradan bir insanın yapacağı bir şeyi ön plana çıkarır
>>
doğru ayrıştırma kadar önemsiz olan bir şey bile , bazı şablon şablonlarını bildirirken var olanları ortaya çıkarır.
- ve bunun gibi
Gördüğüm gibi, bir süre önce C ++ öğretme biçimimizde değiştirebileceğimiz şeyler olabilirdi, ancak bazılarımız geri çekildi, çünkü eski okul yöntemine bir geri dönüş için hala ihtiyacımız vardı ya da öğretmek için çok şey vardı Arcane bilgi.