SORU
8 Mayıs 2009, Cuma


C zararlı kabul yineleyicisi?

Boost C Libraries kütüphane konferans bugün Andrei Alexandrescu kitabının yazarıModern C Designve Loki C library kötü kullanımına neden hakkında konuştuk, ve daha iyi bir çözüm vardı.

Sunum slaytları okumaya çalıştım, ama fazla bir bilgi alamadım.

  1. Kullanımına kötü mü?
  2. Onun yerine gerçekten daha mı iyi?
  3. C implementators fikirlerini alacak?

(EDİT: link Kaldırıldı boostcon; etki alanı spam gerisinde)

CEVAP
8 Mayıs 2009, Cuma


Öncelikle sorularınıza cevap vereyim

  1. Hayır. Aslında, kullanımına, bilgisayar biliminin en önemli/temel kavram hiç elsewhere tartıştım. Ben (Andrei aksine) kullanımına da düşünüyorumsezgisel.
  2. Evet, kesinlikle ama bu bir sürpriz olarak gelmemeli.
  3. Hmm. Boost.Range bakarak ve C 0 x – zaten başlamadı mı?

Burada sadece söylemek Andrei büyük katkısı: kullanımına kavramı tamamen değil, sadece bir temel olarak kolaylık sarıcı olarak daha ziyade aralıkları çiz de göreyim. Diğer diller zaten (Andrei kavramların sadece yankı .bu yapmış NET yok ETMENİZ ya da Python'un kullanımına) ama hepsi tek teklifçıkış aralıkları. Andrei geleneksel yineleyici kategoriler gibi aralıkları farklı türleri için savunuyor.

Bu ışıkta, bu yineleyici kategori başıboşluk alay ederek başlıyor çok garip.

Onun dosya kopyalama özellikle ben de onun örnekler kapalı olduğunu düşünüyorum, Evet, yineleyici değişkenbüyük1975 kod üzerinde iyileştirme. Karmaşık kesme durumu ile bir döngü için aşağı azaltırbiraçıklama. Gerçekten burada sorun çıkarıyor sadece sözdizimi. C burada bahsediyoruz . kusura bakmayın: ^em>elbettesözdizimi çirkin. Ve evet, burada aralıkları kullanarakbir gelişme – ama sözdizimsel sadece.

Ben Andrei find uygulama kapalı olduğunu düşünüyorum. O DropUntil ameliyat (adlandırma zor!) gerçekten ne tanımlar SERİ. find ameliyat gerçekten ya da sıfır elemanları (ya da yineleyici!) bir dönüş. Kulak tıkayan kullanımına burada değeri doğrudan değiştirmek, kopyalamak yerine isteyebiliriz beri bence yararlı değil. Bir eleman burada sadece bir aralık geri dönen bir yararı olmadan yükü ekler. Bu Andrei şekilde yapıyor o zaman bu yöntemin adı yanlış ve Yanıltıcı olduğu için kötü.

Bu, aslında hemen hemen tüm noktaları Andrei katılıyorum " dedi. Bilgisayar bilimi benim evcil kavram olurken kullanımına kesinlikle büyük sözdizimsel bir yük ve birçok aralıkları (özellikle sonsuz jeneratörler) (ve) onlar olmadan rahatça uygulanabilir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • We've moved!

    We've moved!

    7 Ocak 2008
  • Matt Steffanina

    Matt Steffan

    1 EYLÜL 2011
  • SPBedition

    SPBedition

    24 HAZİRAN 2013