C ile ilgili bilmeniz gereken en önemli şeyin C ve C ++ arasındaki farklar olduğunu düşünüyorum. Gibi şeyler gördüğünüzde muhtemelen bir noktada bunu bazı C tarzı vardır bazı kodlar göreceksiniz ve karıştırılmamalıdır malloc
, free
, printf
, fopen
, veya fclose
. Bunların ne kadar benzer olduğunu ve C ++ meslektaşlarından nasıl farklı olduklarını da bilmelisiniz.
Bunu da bilmelisiniz <<
ve >>
sol ve sağ vardiya operatörleri, ekleme operatörleri değilsiniz. Operatörleri aşırı yükleyebileceğiniz C ++ 'da bunlar akış ekleme ve benzeri şeyleri yapmak için aşırı yüklenmiştir, ancak yine de tamsayıları kaydırmak için kullanılmaktadır.
C ++ 'nın C'de bulunmayan tüm temel özelliklerini anladığınızdan emin olun. Eğer yeterince fakir okursanız, dillerdeki ve insanların yanlış anlamalarındaki farklılıkları içeren birçok soru göreceksiniz.
Ayrıca C ++ önişlemcisiyle hemen hemen aynı olan (ve genellikle aynı programla olan) C önişlemcisine de aşina olmalısınız. Nasıl kullanılacağını bilmek C ++ 'da size yardımcı olacaktır, ancak C' de çok daha fazlası
C ++ 'da ele alınması zor olan büyük bir şey, C ++' nın yıkıcılarıdır. Kaynakların serbest bırakılması için bu yerlerin her yerine çağrılabilir, ancak C'de bunların hepsini daha açık bir şekilde yapmanız gerekir. Bu C ++ programcılarının yapmayı unutması kolaydır.
Görüşmelere gelince, birisi sizden C'deki bazı genel algoritmalar için kod yazmanızı ister ve şöyle bir şey yaparsanız:
struct foo {
int a;
void * b;
};
foo x; // in C++ this would work, but in C it would fail because struct names aren't in the
// type name table unless you put them there with typedef
Ne yaptığınızı bilmediğinize karar vereceklerini sanmıyorum çünkü yapmadınız:
struct foo x;
cout
Sizi vitrine çıkarmaya çalıştıkları şey, giriş ve çıkışla başa çıkma kabiliyetiniz olmadığı sürece, C ++ 'nın ortak durumlar için kolaylaştırdığı durumlarda gerçekten kullanmamanız umrunda olmamalıdır .
Kendinizi C gerektiren bir iş için görüşme pozisyonunda bulursanız, C ++ ile çakışması dışında C bilginiz olmadığı konusunda açık olmalısınız. Muhtemelen iyi bir programcının C ++ 'dan C ++' a geçişi oldukça hızlı bir şekilde yapabilmesi gerektiğini anlayacaklardır.
Bunların hepsi söyleniyor, C bir dil kadar büyük değil. Standart kütüphane C ++ 'dan çok daha küçüktür ve en yaygın parçalarını tanımak o kadar da büyük bir iş değildir, bu yüzden onu öğrenmek gerçekten zarar veremez.