Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

Memahami Kelas Penyimpanan C++: Cakupan, Umur, dan Penggunaan

Sebuah kelas penyimpanan menentukan cakupan (visibilitas) dan umur dari variabel dan/atau fungsi dalam Program C++. Pemetaan ini mendahului tipe yang mereka modifikasi. Ada beberapa kelas penyimpanan, yang dapat digunakan dalam Program C++

Kelas Penyimpanan auto

Kelas penyimpanan auto adalah kelas penyimpanan default untuk semua variabel lokal.

 { int mount; auto int month; } 

Contoh di atas mendefinisikan dua variabel dengan kelas penyimpanan yang sama, auto hanya dapat digunakan dalam fungsi, yaitu variabel lokal.

Kelas Penyimpanan register

Kelas penyimpanan register digunakan untuk mendefinisikan variabel lokal yang harus disimpan dalam register bukan RAM. Ini berarti variabel memiliki ukuran maksimum sama dengan ukuran register (biasanya satu kata) dan tidak dapat diterapkan operator unary '&' padanya (karena tidak memiliki lokasi memori).

 { register int miles; } 

Register hanya boleh digunakan untuk variabel yang memerlukan akses cepat seperti penghitung. Juga perlu diperhatikan bahwa mendefinisikan 'register' tidak berarti variabel akan disimpan dalam register. Ini berarti mungkin akan disimpan dalam register tergantung pada keterbatasan perangkat keras dan implementasi.

Kelas Penyimpanan static

Kelas penyimpanan static memberi tahu compiler untuk mempertahankan variabel lokal selama umur program daripada membuat dan menghancurkannya setiap kali masuk dan keluar dari cakupan. Oleh karena itu, membuat variabel lokal statis memungkinkan mereka mempertahankan nilai mereka antara pemanggilan fungsi.

Modifikasi static juga dapat diterapkan pada variabel global. Ketika dilakukan, ini menyebabkan cakupan variabel tersebut terbatas pada file tempat dideklarasikan.

Dalam C++, ketika static digunakan pada anggota data kelas, ini menyebabkan hanya satu salinan anggota tersebut dibagi oleh semua objek dari kelasnya.

Live Demo
 #include <iostream> // Deklarasi fungsi void func(void); static int count = 10; /* Variabel global */ main() { while(count--) { func(); } return 0; } // Definisi fungsi void func( void ) { static int i = 5; // variabel lokal statis i++; std::cout << "i is " << i ; std::cout << " and count is " << count << std::endl; } 

Ketika kode di atas dikompilasi dan dieksekusi, menghasilkan hasil berikut minus–

 i is 6 and count is 9 i is 7 and count is 8 i is 8 and count is 7 i is 9 and count is 6 i is 10 and count is 5 i is 11 and count is 4 i is 12 and count is 3 i is 13 and count is 2 i is 14 and count is 1 i is 15 and count is 0 

Kelas Penyimpanan extern

Kelas penyimpanan extern digunakan untuk memberikan referensi variabel global yang terlihat oleh SEMUA file program. Saat Anda menggunakan 'extern' variabel tidak dapat diinisialisasi karena semua yang dilakukan adalah menunjuk nama variabel ke lokasi penyimpanan yang telah didefinisikan sebelumnya.

Saat Anda memiliki beberapa file dan Anda mendefinisikan variabel global atau fungsi, yang akan digunakan dalam file lain juga, maka extern akan digunakan dalam file lain untuk memberikan referensi variabel atau fungsi yang didefinisikan. Hanya untuk pemahaman extern digunakan untuk mendeklarasikan variabel global atau fungsi dalam file lain.

Modifikasi extern paling sering digunakan ketika ada dua atau lebih file yang berbagi variabel global atau fungsi yang sama seperti dijelaskan di bawah.

File Pertama: main.cpp

 #include <iostream> int count ; extern void write_extern(); main() { count = 5; write_extern(); } 

File Kedua: support.cpp

 #include <iostream> extern int count; void write_extern(void) { std::cout << "Count is " << count << std::endl; } 

Di sini, kata kunci extern digunakan untuk mendeklarasikan count dalam file lain. Sekarang kompila kan kedua file ini sebagai berikut minus–

 $g++ main.cpp support.cpp -o write 

Ini akan menghasilkan program eksekutabel write, coba jalankan write dan periksa hasilnya sebagai berikut minus–

 $./write 5 

Kelas Penyimpanan mutable

Pemetaan mutable hanya berlaku untuk objek kelas, yang dibahas lebih lanjut dalam tutorial ini. Ini memungkinkan anggota objek untuk mengganti fungsi anggota konst. Artinya, anggota mutable dapat dimodifikasi oleh fungsi anggota konst.


Bahasa C

  1. Menguasai Operator C++: Panduan Lengkap dengan Contoh Praktis
  2. Kelas & Objek C++: Panduan Praktis Pemrograman Berorientasi Objek
  3. Fungsi Teman dan Kelas Teman C++: Menguasai Kontrol Akses
  4. Menguasai Template Kelas C++: Panduan Praktis
  5. Memahami Kelas Penyimpanan C: Lingkup, Umur, dan Kinerja
  6. Memahami Kelas Penyimpanan C: Lingkup, Umur, dan Penggunaan
  7. Memahami Polimorfisme C++: Panduan Praktis
  8. Menguasai Abstraksi Data C++: Sederhanakan Desain dengan Pemisahan Antarmuka-Implementasi
  9. Enkapsulasi Data C++: Lindungi Kode Anda
  10. Antarmuka C++: Menguasai Kelas Abstrakt & Fungsi Virtual Murni