SORU
12 Mayıs 2009, Salı


Neden C dizilerini kullanımı daha yaygın değil mi?

Neden hiç kimse artık Boost Tuple Library ya TR1 için standart kütüphane C dizilerini kullanmak gelmiyor mu? Ben okumuş bir sürü C kodu, ve çok nadiren görüyorum kullanımı dizilerini, ama ben sık sık görmek çok yerde nerede dizilerini olur çözmek pek çok sorun (genellikle birden çok değer döndüren fonksiyonlar).

Dizilerini böyle güzel şeyler her türlü yapmak için izin:

tie(a,b) = make_tuple(b,a); //swap a and b

Kesinlikle bu daha iyi

temp=a;
a=b;
b=temp;

Tabii ki her zaman bunu yapabilirsiniz:

swap(a,b);

Ama eğer üç değer döndürmek için ne yapmalı? Dizilerini ile bunu yapabilirsiniz:

tie(a,b,c) = make_tuple(b,c,a);

Dizilerini de çok daha kolay muhtemelen değerleri takas çok daha yaygın bir durum olan, bir fonksiyon birden fazla değişken dönüş yapmak. Dönüş değerleri için başvurular kullanarak kesinlikle çok şık değil.

Düşünüyorum o dizilerini herhangi bir büyük dezavantajı var mı? Neden nadiren kullanılır? Daha yavaş? Yoksa sadece insan için değil mi? İyi bir fikir dizilerini kullanımı kolay mı?

CEVAP
13 Mayıs 2009, ÇARŞAMBA


Alaycı bir cevap birçok kişi C programında , ama anlamadığınız ve ya daha yüksek seviyede işlevsellik/kullanmasıdır. İzin verilmez çünkü ama, çok basit çalışmayın bazen (hatta anlamak).

Kaç Millet işlevleri <algorithm> bulunan kullan? non-boost bir örnek olarak:

Diğer bir deyişle, birçok C programcıları sadece C, C programcıları tarafından kullanılan ve belki de std::vector std::list kullanıyor. boost::tuple kullanımı daha yaygın değil neden bir nedeni budur.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Barnacules Nerdgasm

    Barnacules N

    20 Temmuz 2006
  • Shameless Maya

    Shameless Ma

    24 Mayıs 2012
  • Warner Bros. UK

    Warner Bros.

    6 HAZİRAN 2008