Rumah > pembangunan bahagian belakang > C++ > Mengapa C menggunakan Pengendali Resolusi Skop ::?

Mengapa C menggunakan Pengendali Resolusi Skop ::?

Patricia Arquette
Lepaskan: 2024-11-10 18:04:02
asal
782 orang telah melayarinya

Why does C   use the Scope Resolution Operator ::?

Mengapa C Menggunakan Operator Resolusi Skop ::

Dalam dunia C , pengendali resolusi skop, dilambangkan dengan "::," mempunyai perbezaan yang ketara daripada rakan sejawatannya, "." pengendali. Walaupun bahasa lain, seperti Java, menggunakan operator tunggal untuk pelbagai tujuan, C memilih operator khusus yang disesuaikan khusus untuk menyelesaikan kekaburan antara pembolehubah ahli dan nama kelas.

Keanehan keperluan C untuk pembolehubah yang berasingan. operator berpunca daripada keupayaan bahasa untuk mentakrifkan senario di mana pembolehubah ahli dan jenis kelas terbitan berkongsi nama yang sama. Pertimbangkan contoh kod berikut:

struct foo {
  int blah;
};

struct thingy {
  int data;
};

struct bar : public foo {
  thingy foo;
};

int main() {
  bar test;
  test.foo.data = 5;
  test.foo::blah = 10;
  return 0;
}
Salin selepas log masuk

Dalam contoh ini, pembolehubah ahli foo dalam bar kelas terbitan berkongsi nama yang sama dengan kelas induk foo. Untuk membezakan antara keduanya, C menggunakan pengendali resolusi skop, membenarkan rujukan tunggal kepada kelas terbitan menggunakan "::foo::blah." Mekanisme penyelesaian kekaburan ini menjadi penting dalam keadaan sedemikian.

Atas ialah kandungan terperinci Mengapa C menggunakan Pengendali Resolusi Skop ::?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan