Değişkenlerin bildirimi pahalı?
C kodlama yaparken, aşağıdaki durumla karşılaştım.
int function ()
{
if (!somecondition) return false;
internalStructure *str1;
internalStructure *str2;
char *dataPointer;
float xyz;
/* do something here with the above local variables */
}
Yukarıdaki kodu if
açıklama dikkate işlevi döndürebilir, iki yerde değişkenleri ifade edebilirim.
if
deyim önce.if
ifadenin.
Bir programcı olarak, if
ifadenin değişken bildiriminde tutmayı düşünüyorum.
Beyan yere bir şey maliyeti nedir? Yoksa başka bir nedeni, başka bir yolu tercih eder?
CEVAP
C99 ve daha sonra (ya da C89 için ortak uygun bir uzantı ile), bildirileri mix için ücretsiz.
Yalnızca önceki sürümleri (sadece daha çok gibi Derleyiciler var daha akıllı ve daha agresif), derleyici karar verir nasıl tahsis kaydeder ve yığın veya herhangi bir sayıda diğer iyileştirmeleri uygun olarak-varsa-kural.
Bu performans açısından herhangi bir fark hiçbir beklentisi anlamına geliyor.
Her neyseneden böyle bir izin verilmiş değil
Kapsamını daraltan, böyleceiçerik azaltarak bir insan akılda tutmak gerekirve kod yorumlama doğrulanıyor.
Geçerli bir XML dosyası bir xml bildir...
Java statik çağrıları daha fazla veya ...
Olay bildirimi anonim boş bir temsilci...
C değişken bildirimi yerleştirme...
Nasıl tamir &; döngü için " ilk bildir...