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

  • Machinima

    Machinima

    17 Ocak 2006
  • SlimaksClass

    SlimaksClass

    15 Kasım 2010
  • The White House

    The White Ho

    21 Ocak 2006