SORU
22 Aralık 2012, CUMARTESİ


Neyi 'void()' 'otomatik f(parametreler) -> decltype (...void())' mı?

Böyle bir şey baktı here kod buldum:

auto f(T& t, size_t n) -> decltype(t.reserve(n), void()) { .. }

Tüm belgeleri decltype olarak imzalanmış söylendi okudum:

decltype( entity )

ya

decltype( expression )

Ve ikinci argüman hiçbir yerde yok. En azından cppreference işaret etti. Bu 5 ** ikinci bir argüman mı? Ve eğer öyleyse, ne işe yarar?

CEVAP
22 Aralık 2012, CUMARTESİ


Sadece virgül virgül operatörü olduğunu ifade ediyor (tür anlam oluşturduğu yan türü: void), başka bir tartışma değil bu yana.

Bu kod eğer t.reserve(n) varsa, etkin ama void dönüş türü korumak istiyor SFİNAE kullanıyor.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Chilla Frilla™

    Chilla Frill

    7 Aralık 2006
  • HBO

    HBO

    17 Mayıs 2006
  • Michael Neal

    Michael Neal

    2 Mayıs 2009