Rumah > pembangunan bahagian belakang > C++ > Mengapakah Operator Resolusi Skop (::) Penting dalam C ?

Mengapakah Operator Resolusi Skop (::) Penting dalam C ?

DDD
Lepaskan: 2024-11-10 13:17:02
asal
267 orang telah melayarinya

Why is the Scope Resolution Operator (::) Essential in C  ?

Mengapa C Menggunakan Operator Resolusi Skop (::)?

Tidak seperti Java, C menggunakan operator resolusi skop (::) sebagai simbol tersendiri. Operator ini mempunyai tujuan khusus dalam menyahkekaburan sintaks kod.

Pada asalnya, rasional di sebalik :: berpunca daripada keperluan untuk menampung struktur kod seperti:

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, '. ' pengendali akan menyebabkan kekaburan, kerana kedua-dua "foo" mewakili entiti yang berbeza (pembolehubah ahli dan jenis kelas terbitan). Untuk menangani perkara ini, penggunaan :: untuk akses kelas dan '.' untuk akses ahli telah diperkenalkan.

Dengan menggunakan operator yang berbeza, C memastikan bahawa pengkompil boleh menentukan dengan jelas konteks (objek atau nama taip/ruang nama) di mana pengecam digunakan. Pembezaan ini membenarkan sintaks seperti berikut:

foo::bar; // Class access
thing.baz; // Member access
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapakah Operator Resolusi Skop (::) Penting dalam C ?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan