Dari perspektif teori bahasa pemrograman, yang bertentangan dengan perspektif komputabilitas jawaban dan komentar lain yang ditawarkan, template C ++ dikombinasikan dengan konsep yang sesuai dengan polimorfisme terbatas atau kemanjuran terbatas . Konsep itu sendiri sesuai dengan batasan atau batasan yang ditempatkan pada suatu tipe.
Templat adalah fungsi tipe-level, parameterised menurut jenis yang dibatasi oleh konsep untuk mengimplementasikan antarmuka tertentu. Ketika templat diterapkan ke jenis yang memuaskan konsep itu, jenis baru hasil.
Konsep + templat analog dengan generik di Jawa, Scala atau Eiffel. Mereka berbeda dari templat di C ++ sebelumnya karena mereka mengizinkan batasan pada parameter tipe untuk ditentukan dan diperiksa, sedangkan templat C ++ tidak mengizinkan itu. Keuntungannya adalah pengecekan statis yang lebih baik bahwa program setelah menerapkan templat akan diketik dengan baik.
Referensi yang baik adalah Pierce, Benjamin C. (2002). Jenis dan Bahasa Pemrograman . MIT Press, Bab 26: Kuantifikasi terbatas.