Video: CppCon 2018: Greg Law “Debugging Linux C++” 2024
Bir işlev şablonu, bir işleve benzeyen, ancak derleme zamanında C ++'ın gerçek türe dönüştüren bir veya daha fazla tür tutucu kullanan bir şey yazmanıza olanak tanır. Şablonlar kullanılırken bir kaç şey hatırlamalısınız.
-
İlk olarak, bir şablon için hiçbir kod oluşturulmaz (şablon somut bir sınıf veya işleve dönüştürüldükten sonra kod üretilir.) Bu, bir.cpp kaynak dosyasının neredeyse olduğu anlamına gelir asla bir sınıf şablonuyla ilişkilendirilmemiş
Tüm üye işlevleri de dahil olmak üzere tüm sınıf şablonu tanımı, genellikle bir derleme dosyasında bulunur, böylece derleyici tarafından
-
İkincisi, bir sınıf şablonu hafızayı tüketmez Bu nedenle, sınıf örnekleri asla örneklendirilmezlerse, sınıf şablonları oluşturmak için bir ceza olmaz.Öte yandan, bir sınıf şablonu örneklendirildiğinde her zaman bellek kullanır. Array zaten var olmasına rağmen Array için bellek tüketir.
-
Son olarak, bir sınıf şablonu gerçek bir sınıfa dönüşene kadar derlenemez ve hatalar için kontrol edilemez. Dolayısıyla, Array sınıfında bariz söz dizimi hataları olsa bile, Array sınıf şablonunu referans alan bir program derlenebilir. Hata, Array veya Array gibi bir sınıf oluşturuluncaya kadar görünmez.
Bir şablondan bir işlev oluşturmak, şablonu örneklendirmek olarak adlandırılır.