Rumah >pembangunan bahagian belakang >C++ >Bagaimana Alias Berfungsi 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>
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>
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!