Rumah > pembangunan bahagian belakang > C++ > Apakah perbezaan antara pembolehubah tempatan dan pembolehubah global bagi fungsi C++?

Apakah perbezaan antara pembolehubah tempatan dan pembolehubah global bagi fungsi C++?

WBOY
Lepaskan: 2024-04-19 15:42:01
asal
433 orang telah melayarinya

Perbezaan antara pembolehubah tempatan dan pembolehubah global dalam C++: Keterlihatan: Pembolehubah setempat terhad kepada fungsi penentu, manakala pembolehubah global boleh dilihat sepanjang program. Peruntukan memori: pembolehubah tempatan diperuntukkan pada tindanan, manakala pembolehubah global diperuntukkan dalam kawasan data global. Skop: Pembolehubah tempatan berada dalam fungsi, manakala pembolehubah global berada di seluruh program. Permulaan: Pembolehubah tempatan dimulakan apabila fungsi dipanggil, manakala pembolehubah global dimulakan apabila program bermula. Rekreasi: Pembolehubah tempatan dicipta semula pada setiap panggilan fungsi, manakala pembolehubah global dibuat hanya apabila program bermula.

C++ 函数的局部变量和全局变量有什么区别?

Pembolehubah tempatan dan global untuk fungsi C++: perbezaan besar

Dalam C++, terdapat perbezaan penting antara pembolehubah tempatan dan pembolehubah global, dan memahami perbezaan ini adalah penting untuk menulis kod yang cekap dan boleh diselenggara.

Pembolehubah setempat

  • ditakrifkan dalam fungsi dan hanya boleh dilihat dalam skop fungsi.
  • Dicipta apabila fungsi dipanggil dan dimusnahkan apabila fungsi itu kembali.
  • Pembolehubah setempat dicipta semula setiap kali fungsi dipanggil.

Kod sampel:

void myFunction() {
    int localVariable = 5; // 局部变量
    // ... 使用 localVariable
}

int main() {
    myFunction();
    // localVariable 无法访问,因为它不在 main() 函数的范围内
}
Salin selepas log masuk

Pembolehubah global

  • ditakrifkan di luar fungsi dan boleh dilihat sepanjang program.
  • Dicipta apabila program bermula dan dimusnahkan apabila program ditamatkan.
  • Pembolehubah global kelihatan kepada semua fungsi dalam program.

Kod sampel:

int globalVariable = 10; // 全局变量

void myFunction() {
    // ... 使用 globalVariable
}

int main() {
    // ... 使用 globalVariable
}
Salin selepas log masuk

Perbezaan

Dalam keseluruhan program DimulakanApabila fungsi dipanggilApabila program bermulaBuat semula
Ciri-ciriPembolehubah tempatanPembolehubah global
terhad kepada fungsi di mana ia ditakrifkan Seluruh program
Kitaran hayatSemasa panggilan fungsiSemasa program berjalan
Peruntukan memoriPada tindananDalam kawasan data global

Setiap kali fungsi dipanggil

Hanya apabila program bermula

name 仅在 greet() 函数内使用,并且在每次函数被调用时都重新创建:

void greet(std::string name) {
    std::cout << "Hello, " << name << "!" << std::endl;
}

int main() {
    greet("John");
    greet("Mary"); // 局部变量 name 将重新创建
}
Salin selepas log masuk

举例说明全局变量

在以下示例中,全局变量 g_countPerkauman

Contoh pembolehubah tempatan🎜 🎜Dalam contoh berikut Dalam , pembolehubah tempatan name hanya digunakan dalam fungsi greet() dan dicipta semula setiap kali fungsi dipanggil: 🎜
int g_count = 0; // 全局变量

void incrementCount() {
    g_count++;
}

int main() {
    incrementCount();
    std::cout << "Count: " << g_count << std::endl; // 输出 1

    incrementCount();
    std::cout << "Count: " << g_count << std::endl; // 输出 2
}
Salin selepas log masuk
🎜Contoh global pembolehubah🎜🎜in Dalam contoh berikut, pembolehubah global g_count boleh dilihat di seluruh program dan dikemas kini setiap kali fungsi dipanggil: 🎜rrreee

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

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