BT Sözlüğü › Programlama › Mükemmel iletme

Mükemmel iletme

Programlama Svenska → Güncellendi: 2026-10-11

Argümanları geçici olup olmadıklarını kaybetmeden başka bir işleve aktarmak. make_unique ile emplace_back’in yazılabilmesini sağlayan şey.

Argümanlarını sıradan referans olarak alan bir sarmalayıcı değer kategorisi bilgisini yitirir: işlevin içinde her şey adlandırılmış nesne gibi görünür, bu yüzden taşınması gereken bir geçici kopyalanır. Çözüm şu kalıptır: template<class... A> void f(A&&... a) { g(std::forward<A>(a)...); }. Buradaki çift & rvalue referansı değil, iletme başvurusudur (forwarding reference), çünkü tür çıkarsanır — referans çökmesi kuralları onun hem geçicilere hem adlandırılmış nesnelere bağlanmasını, ayrımı çıkarsanan türde korumasını sağlar. std::forward da özgün kategoriyi geri getiren koşullu bir dönüşümdür. Onu unutursanız kalıbın anlamı kalmaz.

← Sözlüğe dön