Bolehkah Parameter Templat Bergantung pada Argumen Fungsi dalam Fungsi Konsteval C 20?

DDD
Lepaskan: 2024-10-23 20:37:30
asal
159 orang telah melayarinya

Can Template Parameters Depend on Function Arguments in C  20 Consteval Functions?

Fungsi Konsteval dan Parameter Templat Bergantung pada Argumen Fungsi

Dalam C 17, parameter templat tidak boleh bergantung pada argumen fungsi kerana pengkompil masih perlu menjana arahan masa jalan untuk fungsi bukan constexpr, walaupun ia dinilai pada masa kompilasi.

C 20 Consteval Functions

C 20 memperkenalkan fungsi consteval, yang mesti dinilai pada masa penyusunan, mengalih keluar kekangan masa jalan. Walau bagaimanapun, persoalannya tetap: adakah ini bermakna parameter templat kini boleh bergantung pada argumen fungsi?

Tiada Elaun untuk Parameter Templat Bergantung

Walaupun terdapat pengenalan fungsi konsteval, jawapannya tidak. Kertas itu mengakui bahawa parameter tidak bertujuan untuk dianggap sebagai ungkapan teras teras. Ini disebabkan oleh kemungkinan percanggahan menaip, seperti yang ditunjukkan oleh contoh dalam kertas:

consteval int sqrsqr(int n) {
  return sqr(sqr(n)); // Not a constant-expression at this  point,
}                     // but that's okay.
Salin selepas log masuk

Oleh itu, parameter fungsi tidak akan sekali-kali dianggap sebagai ungkapan malar, menghalang parameter templat daripada bergantung padanya.

Atas ialah kandungan terperinci Bolehkah Parameter Templat Bergantung pada Argumen Fungsi dalam Fungsi Konsteval C 20?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!