C kodu normalde geçerlidir C ++ kodu.
C ++ ile ilgili ana sorunlar onu yanlış kullanıyor ( Linus Torvalds bu sebepten nefret ediyor , kütüphane taşınabilirliği ile ilgili başka sorunları da vardı ve bu nedenle satın alma konusunda işletim sistemleri düzeyinde çalışıyor ve her rasgele bir şeyleri çalıştırabilmesi gerekiyor. orada çip).
Örneğin, cstyle dizisini [] bir c ++ std :: vector <> (veya benzeri bir kabın) üzerinden kullanmanın neredeyse hiçbir avantajı yoktur.
Vektörler yazı tipi güvenlidir ve sınırlar kontrol edilebilir (get () veya [] kullanarak öğelere erişebilirsiniz, dizi denetleme yöntemini kullanmasanız bile, işaretçiyi ortalıkta gezdirmek yerine boyutu sorgulayabilirsiniz).
Ama vektörler olabilir örneğin, yapıcı içinde varsayılan boyutu beyan yok, eğer yavaş. Ayrıca bir vektöre bir şeyler eklemek, daha sonra yeniden boyutlandırılması gerekiyorsa yavaşlamalara neden olabilir. C ++ 11, tek tip başlatma (şimdi aynı sözdizimini kullanarak vektörleri tanımlayıp başlatabilirsiniz) ve kopyalamayı engellemenize izin veren hareket yapıcıları gibi birçok avantaj sağlar. Kendi özel başlatıcılarınızı bile yapabilirsiniz (bir nedenden dolayı malloc kullanmaktan başka bir şey yapmak istiyorsanız).
Ya da bir şeyleri yeniden boyutlandırmanız gerekiyorsa, o zaman vektörler ile bunu yapmak daha kolaydır, malloc ile uğraşmak zorunda değilsiniz, elle şeyleri kopyalamak vb.
C ++ size nesne yönelimli kod verir. Derlendiğinde, kodla çalışan insanlar için gerçekten bir soyutlama olduğundan, bu kadar verimli olacak. Her ne kadar inşaatçılar gibi şeyler nesne oluşumunu yavaşlatabilir. Ancak, varsayılan değerleri ayarlamak için yapıcıya ihtiyacınız olacak veya aksi takdirde yapıcıyı kullanmadan (('lar)' ı bırakarak nesneleri başlatabilirsiniz.
Ancak nesne yönelimi programlama oyunlarını çok daha kolaylaştırır. Oyunlar genellikle nesnelerle ilgilenir.