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

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

WBOY
WBOYasal
2024-04-19 15:42:01316semak imbas

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() 函数的范围内
}

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
}

Perbezaan

Dalam keseluruhan program DimulakanApabila fungsi dipanggilApabila program bermulaBuat semula
Ciri-ciri Pembolehubah tempatan Pembolehubah global
terhad kepada fungsi di mana ia ditakrifkan Seluruh program
Kitaran hayat Semasa panggilan fungsi Semasa program berjalan
Peruntukan memori Pada tindanan Dalam 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 将重新创建
}

举例说明全局变量

在以下示例中,全局变量 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
}
🎜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!

Kenyataan:
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