Rumah > pembangunan bahagian belakang > C++ > ## Bolehkah C 17 Mencapai Potongan Hujah Templat Kelas Separa?

## Bolehkah C 17 Mencapai Potongan Hujah Templat Kelas Separa?

Linda Hamilton
Lepaskan: 2024-10-25 06:20:28
asal
326 orang telah melayarinya

## Can C  17 Achieve Partial Class Template Argument Deduction?

Potongan Argumen Templat Kelas Separa dalam C 17

Dalam C 17, Potongan Argumen Templat Kelas (CTAD) membenarkan pemotongan hujah templat berdasarkan hujah yang diserahkan kepada fungsi atau pembina. Walau bagaimanapun, proses ini pada masa ini memerlukan sama ada semua atau tiada hujah dinyatakan.

Persoalan timbul jika mungkin untuk menentukan sebahagian hujah templat dan selebihnya disimpulkan. Contohnya:

<code class="cpp">Base<V = bool> val1(1, 4.);        // U & V deduced --> Base<int, double, bool>
Base<T = bool, T =int> val2(5.);  // V deduced     --> Base<bool, int, double></code>
Salin selepas log masuk

Walau bagaimanapun, cubaan menggunakan templat alias untuk mencapai ini, seperti:

<code class="cpp">template<class T, class U> using Base2 = Base<T, U, double>;

void func() {
    NewBase2 val(1, 2);
}</code>
Salin selepas log masuk

menghasilkan ralat penyusunan.

Pada masa ini, CTAD tidak menyokong potongan separa. Kertas P1021R0, yang mencadangkan ciri ini, belum diterima. Walau bagaimanapun, C 20 mungkin termasuk sokongan untuk templat alias (P1814) dan agregat (P1816), yang boleh menyediakan penyelesaian.

Atas ialah kandungan terperinci ## Bolehkah C 17 Mencapai Potongan Hujah Templat Kelas Separa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan