Bagaimana Alias ​​Berfungsi dalam C 11?

DDD
Lepaskan: 2024-10-23 14:48:45
asal
269 orang telah melayarinya

How to Alias Functions in C  11?

Fungsi Aliasing dalam C 11

Walaupun mudah untuk kelas alias menggunakan pernyataan, fungsi aliasing secara langsung tidak disokong secara lalai dalam C . Walau bagaimanapun, terdapat cara untuk mencapai ini dengan berkesan.

Pertimbangkan kod berikut:

<code class="cpp">namespace bar {
    void f();
}</code>
Salin selepas log masuk

Untuk alias fungsi ini, anda boleh menggunakan pemajuan sempurna seperti berikut:

<code class="cpp">template <typename... Args>
auto g(Args&&... args) -> decltype(f(std::forward<Args>(args)...)) {
  return f(std::forward<Args>(args)...);
}</code>
Salin selepas log masuk

Penyelesaian ini berfungsi untuk mengalikan mana-mana fungsi, termasuk lebihan beban dan fungsi templat. Pada asasnya, fungsi templat g memajukan hujah ke fungsi asal f menggunakan pemajuan sempurna.

Dengan melakukan ini, anda boleh menggantikan mana-mana penggunaan bar::f dalam kod anda dengan g dengan berkesan, menghasilkan hasil yang serupa dari segi fungsi. Walau bagaimanapun, ambil perhatian bahawa pendekatan ini tidak mentakrifkan fungsi baharu dengan nama g sebaliknya mencipta pembungkus umum yang menggunakan fungsi asal.

Atas ialah kandungan terperinci Bagaimana Alias ​​Berfungsi dalam C 11?. 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!