SORU
1 Ocak 2015, PERŞEMBE


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.

  1. if deyim önce.
  2. 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
1 Ocak 2015, PERŞEMBE


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:
C

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Apple

    Apple

    22 HAZİRAN 2005
  • Call Me Howard

    Call Me Howa

    18 AĞUSTOS 2012
  • Rayone GB

    Rayone GB

    14 Temmuz 2007