Rumah pangkalan data tutorial mysql 模板元编程简介2

模板元编程简介2

Jun 07, 2016 pm 03:19 PM
nombor kuasa guna boleh templat Selesaikan pengenalan pengaturcaraan ini

2:求解一个数的乘方。 当然这个可以利用cmath头文件中pow函数来完成,但对于次数较小的常整数的乘方运算来说,这种办法的效率较低,不如手工写一个操作数连乘的表达式,但有时候这样并不方便,特别当乘方运算的底数本身是一个较为复杂的表达式时,一般还要

2:求解一个数的乘方。

当然这个可以利用cmath头文件中pow函数来完成,但对于次数较小的常整数的乘方运算来说,这种办法的效率较低,不如手工写一个操作数连乘的表达式,但有时候这样并不方便,特别当乘方运算的底数本身是一个较为复杂的表达式时,一般还要先用临时变量将表达式保存,再对临时变量做乘方。通过定义一个如下的内联函数可以提供一些方便。


inline double power(double x, unsigned n)

{

double result = x;

for(int i = 1; i

result *= x;

return result;

}

当n比较小时,这个函数的效率通常会比cmath头文件的pow函数高,但这要在运行时执行循环,并没有达到理想的效率,模板元又派上用场了。如下:

template

inline double power(double v)

{

return v * power(v);

}

template

inline double power(double v)

{

return v;

}


上面的模板不够通用,只能针对double类型。下面引用新的类型参数T,由于函数模板不支持偏特化,我们不便直接指定N=1时的结果,因此可以借助于一个类模板。

template

struct Power

{

template

static T value(T x)

{

return x * Power::value(x);

};

template

struct Power

{

template

static T value

{

reurn x;

}


这样,我们求x的4次方,可以这样写:Power::value(x);

但是这样写很不方便,所以我们可以写一个辅助的模板函数,如下:

template

{

inline T Power(T v)

return Power::value(v);

}

这样,x的4次方就可以这样来写:power(x);

}

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Untuk apa pengaturcaraan dan apakah kegunaan mempelajarinya? Untuk apa pengaturcaraan dan apakah kegunaan mempelajarinya? Apr 28, 2024 pm 01:34 PM

1. Pengaturcaraan boleh digunakan untuk membangunkan pelbagai perisian dan aplikasi, termasuk tapak web, aplikasi mudah alih, permainan dan alat analisis data. Bidang aplikasinya sangat luas, meliputi hampir semua industri, termasuk penyelidikan saintifik, penjagaan kesihatan, kewangan, pendidikan, hiburan, dll. 2. Pembelajaran pengaturcaraan boleh membantu kita meningkatkan kemahiran menyelesaikan masalah dan kemahiran berfikir logik. Semasa pengaturcaraan, kita perlu menganalisis dan memahami masalah, mencari penyelesaian dan menterjemahkannya ke dalam kod. Cara berfikir ini boleh memupuk kebolehan analitikal dan abstrak kita dan meningkatkan keupayaan kita untuk menyelesaikan masalah praktikal.

Koleksi teka-teki pengaturcaraan C++: merangsang pemikiran dan meningkatkan kemahiran pengaturcaraan Koleksi teka-teki pengaturcaraan C++: merangsang pemikiran dan meningkatkan kemahiran pengaturcaraan Jun 01, 2024 pm 10:26 PM

Teka-teki pengaturcaraan C++ meliputi algoritma dan konsep struktur data seperti jujukan Fibonacci, faktorial, jarak Hamming, nilai maksimum dan minimum tatasusunan, dll. Dengan menyelesaikan teka-teki ini, anda boleh menyatukan pengetahuan C++ dan meningkatkan pemahaman algoritma dan kemahiran pengaturcaraan.

Penyelesaian Masalah dengan Python: Buka Kunci Penyelesaian Berkuasa sebagai Pengekod Pemula Penyelesaian Masalah dengan Python: Buka Kunci Penyelesaian Berkuasa sebagai Pengekod Pemula Oct 11, 2024 pm 08:58 PM

Pythonmemperkasakan pemula dalam menyelesaikan masalah.Sintaksnya yang mesra pengguna, perpustakaan luas, dan ciri-ciri seperti pembolehubah, pernyataan bersyarat, dan pembangunan kod yang cekap boleh dilonggarkan. Daripada mengurus data untuk mengawal aliran program dan melaksanakan tugasan berulang, Pythonprovid

Perbandingan templat C++ dan generik? Perbandingan templat C++ dan generik? Jun 04, 2024 pm 04:24 PM

Perbezaan antara templat dan generik dalam C++: Templat: ditakrifkan pada masa penyusunan, ditaip dengan jelas, kecekapan tinggi dan saiz kod yang kecil. Generik: menaip masa jalan, antara muka abstrak, menyediakan fleksibiliti, kecekapan rendah.

'Black Myth: Wukong ' diubah suai secara ajaib untuk mengalahkan Midjourney Alat lukisan AI ini sangat mengagumkan. 'Black Myth: Wukong ' diubah suai secara ajaib untuk mengalahkan Midjourney Alat lukisan AI ini sangat mengagumkan. Aug 23, 2024 pm 09:42 PM

Apabila AI Ideograms bersaing untuk realisme dan rasa artistik, Ideogram telah membuka trek yang rumit: ia boleh menjana teks pada gambar dengan tepat, dan fon serta reka letaknya cantik. Permintaan ini bukan niche Hasilkan poster dan ilustrasi dengan satu klik tanpa menggunakan P-pictures Ia boleh menjimatkan banyak masalah dan sangat sesuai untuk orang biasa yang tidak tahu apa-apa tentang reka bentuk. Kami sebelum ini menulis tentang versi 1.0 Ideogram. Pada 21 Ogos, versi 2.0 datang. Realisme adalah lebih baik, poster lebih direka, dan kemahiran khas teks juga lebih kuat. Anda mungkin tidak pernah mendengarnya Ini adalah produk AI yang dibangunkan oleh bekas pekerja Google Ia mempunyai banyak kekurangan, tetapi papan panjang boleh "mendahului" Midjourney. Arah https://ideogram.ai/A

Apakah aplikasi biasa templat C++ dalam pembangunan sebenar? Apakah aplikasi biasa templat C++ dalam pembangunan sebenar? Jun 05, 2024 pm 05:09 PM

Templat C++ digunakan secara meluas dalam pembangunan sebenar, termasuk templat kelas kontena, templat algoritma, templat fungsi generik dan templat pengaturcaraan meta. Sebagai contoh, algoritma pengisihan generik boleh mengisih tatasusunan jenis data yang berbeza.

Kunci Pengekodan: Membuka Kunci Kuasa Python untuk Pemula Kunci Pengekodan: Membuka Kunci Kuasa Python untuk Pemula Oct 11, 2024 pm 12:17 PM

Python ialah bahasa pengenalan pengaturcaraan yang ideal untuk pemula melalui kemudahan pembelajaran dan ciri yang berkuasa. Asasnya termasuk: Pembolehubah: digunakan untuk menyimpan data (nombor, rentetan, senarai, dll.). Jenis data: Mentakrifkan jenis data dalam pembolehubah (integer, titik terapung, dll.). Operator: digunakan untuk operasi matematik dan perbandingan. Aliran kawalan: Kawal aliran pelaksanaan kod (penyataan bersyarat, gelung).

Lepaskan Pengaturcara Dalaman Anda: C untuk Pemula Mutlak Lepaskan Pengaturcara Dalaman Anda: C untuk Pemula Mutlak Oct 11, 2024 pm 03:50 PM

C ialah bahasa yang sesuai untuk pemula untuk mempelajari pengaturcaraan, dan kelebihannya termasuk kecekapan, serba boleh dan mudah alih. Mempelajari bahasa C memerlukan: Memasang pengkompil C (seperti MinGW atau Cygwin) Memahami pembolehubah, jenis data, pernyataan bersyarat dan pernyataan gelung Menulis program pertama yang mengandungi fungsi utama dan fungsi printf() Berlatih melalui kes praktikal (seperti mengira purata) C pengetahuan bahasa

See all articles