Rumah > pembangunan bahagian belakang > C++ > Apakah perbezaan antara fungsi statik C++ dan fungsi global?

Apakah perbezaan antara fungsi statik C++ dan fungsi global?

WBOY
Lepaskan: 2024-04-17 08:54:01
asal
1234 orang telah melayarinya

Fungsi statik hanya boleh dilihat dalam kelas, tanpa contoh kelas, dan digunakan untuk kaedah kelas alat manakala fungsi global kelihatan dalam keseluruhan program, tanpa kelas atau contoh, dan digunakan untuk fungsi bebas;

C++ 静态函数与全局函数有什么区别?

Perbezaan antara fungsi statik dan fungsi global dalam C++

Pengenalan
Dalam C++, fungsi statik dan fungsi global ialah dua jenis fungsi dengan fungsi dan skop yang berbeza. Memahami perbezaan antara mereka adalah penting untuk menulis kod yang jelas dan boleh diselenggara.

Fungsi Statik
Fungsi statik adalah serupa dengan fungsi ahli biasa, kecuali ia tidak boleh mengakses data ahli bukan statik kelas. Ia biasanya digunakan untuk melaksanakan kaedah kelas utiliti yang tidak memerlukan akses kepada keadaan kelas.

Pengisytiharan dan definisi

class MyClass {
public:
    static int add(int a, int b) { return a + b; }
};
Salin selepas log masuk

Skop dan kebolehpanggil
Fungsi statik hanya boleh dilihat dalam skop kelas. Ini bermakna mereka boleh dipanggil terus dengan nama kelas tanpa membuat contoh kelas.

int result = MyClass::add(10, 20); // 输出 30
Salin selepas log masuk

Fungsi global
Fungsi global tidak tergolong dalam mana-mana kelas. Mereka boleh dilihat sepanjang skop program. Ia digunakan untuk menentukan kefungsian bebas kelas, seperti operasi I/O atau operasi matematik.

Pengisytiharan dan definisi

int add(int a, int b) { return a + b; }
Salin selepas log masuk

Skop dan kebolehpanggil
Fungsi global boleh diakses dan dipanggil dari mana-mana dalam program. Jadual perbezaan

Kebolehaksesan

Tiada kelas diperlukan Instance Tidak memerlukan kelas atau contoh Kes praktikalContoh 1 : Fungsi statik Buat kelas Math yang mengandungi fungsi calculateArea statik yang mengira luas bulatan.
int result = add(10, 20); // 输出 30
Salin selepas log masuk
Panggil:
double area = Math::calculateArea(5); // 输出 78.5
Salin selepas log masuk
Panggil:
void displayMessage(const string& message) {
  cout << message << endl;
}
Salin selepas log masuk
KesimpulanMemahami perbezaan antara fungsi statik dan global adalah penting untuk menulis kod C++ yang jelas dan boleh diselenggara. Fungsi statik digunakan untuk kaedah kelas utiliti dalam kelas, manakala fungsi global digunakan untuk fungsi bebas yang tersedia dalam skop program.

Atas ialah kandungan terperinci Apakah perbezaan antara fungsi statik C++ dan fungsi global?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
class Math {
public:
    static double calculateArea(double radius) { return (3.14 * radius * radius); }
};
Salin selepas log masuk
Contoh 2: Fungsi global Tentukan fungsi global displayMessage yang mencetak mesej yang dihantar kepadanya.