Apakah gunanya menggunakan penunjuk dalam C++?
Apakah gunanya menggunakan penunjuk dalam C++?

Video: Apakah gunanya menggunakan penunjuk dalam C++?

Video: Apakah gunanya menggunakan penunjuk dalam C++?
Video: Function Call By Pointer In C++ 2024, Mungkin
Anonim

Satu sebab untuk gunakan penunjuk adalah supaya pembolehubah atau objek boleh diubah suai dalam fungsi yang dipanggil. Dalam C++ ia adalah amalan yang lebih baik untuk guna rujukan daripada petunjuk . Walaupun rujukan pada asasnya petunjuk , C++ sedikit sebanyak menyembunyikan fakta dan menjadikannya seolah-olah anda melepasi nilai.

Begitu juga, anda mungkin bertanya, mengapa penggunaan penunjuk dalam C++ tidak disyorkan?

Pintar petunjuk biasanya menjejaki objek yang mereka tunjuk untuk tujuan pengurusan ingatan. Penyalahgunaan petunjuk ialah sumber utama pepijat: peruntukan berterusan, deallocation dan rujukan yang mesti dilakukan oleh program yang ditulis menggunakan petunjuk memperkenalkan risiko kebocoran memori akan berlaku.

Selain di atas, bilakah saya harus menggunakan penunjuk C++? bila nak guna Apa Gunakan penunjuk : Gunakan penunjuk jika penunjuk aritmetik atau lulus NULL- penunjuk diperlukan. Contohnya untuk tatasusunan (Perhatikan bahawa akses tatasusunan dilaksanakan menggunakan penunjuk aritmetik).

Dengan mengambil kira perkara ini, apakah kelebihan menggunakan penunjuk?

Major kelebihan daripada petunjuk adalah: (i) Ia membenarkan pengurusan struktur yang diperuntukkan memori secara dinamik. (ii) Ia membolehkan menghantar tatasusunan dan rentetan untuk berfungsi dengan lebih cekap. (iii) Ia membolehkan untuk menghantar alamat struktur dan bukannya keseluruhan struktur kepada fungsi.

Mengapa penunjuk tidak selamat?

Keselamatan: Oleh bukan membenarkan petunjuk , Java dengan berkesan menyediakan satu lagi tahap abstraksi kepada pembangun. Tiada sokongan penunjuk menjadikan Java lebih banyak selamat kerana ia menunjuk ke lokasi memori atau digunakan untuk pengurusan memori yang kehilangan keselamatan kerana kami menggunakannya secara langsung.