SORU
17 Mart 2015, Salı


Nasıl belirsizlik aşırı çözünürlükte tespit algoritması?

Aşırı yükleme çözümlemesi yöntemini anlamaya çalışıyorum.

Neden bu belirsiz

void func(double, int, int, double) {}
void func(int, double, double, double) {}

void main()
{
    func(1, 2, 3, 4);
}

ama bu değil mi?

void func(int, int, int, double) {}
void func(int, double, double, double) {}

void main()
{
    func(1, 2, 3, 4);
}

İlk durumda 2 Tam parametreleri maçları ve 2 dönüşümleri karşı 1 tam eşleme ve 3 dönüşümler, ve ikinci durumda orada tam 3 maç ve 1 dönüşüm karşı 1 tam eşleşir ve 3 dönüşüm.

Neden bir ve belirsiz değil mi? Buradaki mantık nedir?

CEVAP
17 Mart 2015, Salı


Aşırı çözünürlük kuralları sadece belirli bir kısmi sipariş kümesinin tüm maçlar - eğer bir aşırı yük F1 Daha iyi bir maç daha F2, değil ima F2 daha iyi bir maç daha F1. Tam kısmi sipariş bağımsız değişkenleri k nerede k Boyutlar, iki nokta karşılaştırma olarak düşünülebilir. k-dim uzayda puanları bu kısmi sipariş tanımlama (x_1, x_2,..., x_k) < (y_1, y_2,..., y_k) if x_i <= y_i for all i and x_j < y_j for at least one j sağlar. Bu tam olmayan şablon fonksiyonları standart tarafından tanımlanan aday kısmi sipariş.

Sağlar senin örneklere bakın :

void func(double, int,    int,    double) {}
                  vvv     vvv       vvv
                 better  better    equal
void func(int,    double, double, double) {}
          vvv                       vvv
         better                    equal

Ne aşırı diğerine göre kesinlikle daha iyi.

İkinci örnek:

void func(int,   int,   int,   double) {}
          vvv    vvv    vvv     vvv
         equal  better better  equal
void func(int, double, double, double) {}
          vvv
         equal

Şimdi, ilk aşırı ama bir argüman ikinci daha iyi olduğunu VE asla ikinci daha kötü. Böylece, belirsizlik yok - kısmi sipariş aslında ilkini daha ilan ediyor.

(Yukarıdaki açıklama işlev şablonları dikkate almaz. *.* 16) daha fazla bilgi bulabilirsiniz

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Gavin Hoey

    Gavin Hoey

    21 Aralık 2007
  • Lamborghini

    Lamborghini

    13 Aralık 2005
  • Strata1000

    Strata1000

    28 EYLÜL 2009