«perfect-forwarding» etiketlenmiş sorular

4
C ++ 11'de T&& (çift ve işareti) ne anlama geliyor?
C ++ 11'in yeni özelliklerinden bazılarına baktım ve fark ettiğim, değişkenleri bildirmede çift ve işareti T&& var. Başlangıç ​​olarak, bu canavara ne denir? Keşke Google bunun gibi noktalama işaretlerini aramamıza izin verseydi. Tam olarak ne anlama geliyor? İlk bakışta, çift referans gibi görünüyor (C tarzı çift işaretçiler gibi T** var), …

6
Std :: forward kullanmanın temel amaçları nelerdir ve hangi sorunları çözer?
Mükemmel iletmede, std::forwardadlandırılmış değer referanslarını t1ve t2adlandırılmamış değer referanslarına dönüştürmek için kullanılır . Bunu yapmanın amacı nedir? Bu nasıl denir fonksiyonu etkileyecek innerGidersek t1& t2SolDeğerler olarak? template <typename T1, typename T2> void outer(T1&& t1, T2&& t2) { inner(std::forward<T1>(t1), std::forward<T2>(t2)); }

6
make_unique ve mükemmel yönlendirme
std::make_uniqueStandart C ++ 11 kitaplığında neden işlev şablonu yok ? buldum std::unique_ptr<SomeUserDefinedType> p(new SomeUserDefinedType(1, 2, 3)); biraz ayrıntılı. Aşağıdakiler çok daha hoş olmaz mıydı? auto p = std::make_unique<SomeUserDefinedType>(1, 2, 3); Bu newgüzel gizler ve sadece bir kez türü bahseder. Her neyse, işte benim uygulama girişimim make_unique: template<typename T, typename... Args> …


1
Variadic bir fonksiyondaki tüm argümanlarda std :: forward nasıl çağrılır?
Ben sadece genel bir nesne fabrikası yazıyordum ve değişken bir şablon oluşturmak için boost önişlemci meta kitaplığını kullanıyordum (2010 kullanıyorum ve bu onları desteklemiyor). Fonksiyonum rval referansları kullanıyor ve std::forwardmükemmel yönlendirme yapmak için beni düşündürdü ... C ++ 0X çıktığında ve standart bir derleyicim olduğunda bunu gerçek değişken şablonlarla yapardım. …

1
Öğeleri mükemmel bir şekilde ileterek std :: vector'u listeleyebilir miyim?
Ben std :: vector toplam liste initalizasyon hareket daha uygulanabilir olduğunda kopya başlatma gerçekleştirdiğini fark ettim . Aynı zamanda, birden çok emplace_backs istediğimi yapar. Ben sadece bir şablon fonksiyonu yazma bu kusursuz çözümü ile gelebilir init_emplace_vector. Bununla birlikte, sadece müstehcen olmayan tek değerli kurucular için idealdir . template <typename T, …
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.