Ne kopyası elision ve değer optimizasyonu dönüş? | Netgez.com
SORU
18 EKİM 2012, PERŞEMBE


Ne kopyası elision ve değer optimizasyonu dönüş?

Kopya elision nedir? (Adlı) değeri optimizasyon getirisi ne olacak? Onlar manası nedir?

Hangi durumlarda oluşabilir? Kısıtlamaları nelerdir?

CEVAP
18 EKİM 2012, PERŞEMBE


GiriÅŸ

- skip to this answer teknik bir genel bakış için.

Elision kopyasını ortak durumlarda ortaya çıkar - skip to this answer.

Kopya elision bir optimizasyon çoğu derleyici tarafından bazı durumlarda (potansiyel olarak) pahalı ekstra kopyalar önlemek için kullanılır. Değeri tarafından iade yapar ya da by-pass değer mümkün pratikte (kısıtlamalar geçerlidir).

Elides optimizasyon (ha!) tek ÅŸekli. -eÄŸer bu kuralkopya elision eÄŸer nesne hareket kopyalama/yan etkileri varsa bile uygulanabilir.

Aşağıdaki örnek Wikipedia: alınan

struct C {
  C() {}
  C(const C&) { std::cout << "A copy was made.\n"; }
};

C f() {
  return C();
}

int main() {
  std::cout << "Hello World!\n";
  C obj = f();
}

Derleyici ve ayarlarına bağlı olarak, aşağıdaki çıktılartüm geçerli:

Merhaba Dünya!


Merhaba Dünya!


Merhaba Dünya!

Bu da daha az nesneleri oluşturulabilir anlamına gelir, aynı zamanda yıkıcı çağrıldığını belirli sayıda güvenebilirsiniz. Aradı, onlar güvenemezsin olarak kopyala/-kurucular hareket ya da yıkıcı içindeki kritik mantık sahibi olmamalısın.

Eğer bir kopyalama veya taşıma yapıcı bir çağrı elided, kurucu bulunması ve erişilebilir olması gerekir. Bu kopya elision normalde copyable özel veya silinmiş bir kopya var çünkü, örneğin olmayan nesneler kopyalanıyor yapıcı hareket/izin vermez sağlar.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ★ByScrapi★ Designs

    ★ByScrapiâ

    27 AÄžUSTOS 2013
  • SaMmM123

    SaMmM123

    3 Mayıs 2006
  • Utah Valley Online

    Utah Valley

    9 AÄžUSTOS 2010