Rumah >pembangunan bahagian belakang >C++ >Apakah yang dilakukan oleh Operator Resolusi Skop (::) Tanpa Skop?
Operator Resolusi Skop dalam Kekosongan
Operator resolusi skop (::) biasanya digunakan untuk mengakses ahli skop tertentu. Walau bagaimanapun, ia juga boleh digunakan tanpa skop, seperti dalam contoh berikut:
::foo();
Tujuan Pengendali Resolusi Skop tanpa Skop
Apabila digunakan tanpa skop, pengendali resolusi skop merujuk kepada skop global. Ini bermakna ia mengakses simbol yang tidak ditakrifkan dalam mana-mana kelas atau ruang nama tertentu.
Contoh Menggunakan Operator Resolusi Skop tanpa Skop
Pertimbangkan kod berikut:
void bar(); // this is a global function class foo { void some_func() { ::bar(); } // this function is calling the global bar() and not the class version void bar(); // this is a class member };
Dalam contoh di atas, terdapat dua fungsi bar(): satu ialah fungsi global, dan satu lagi ialah fungsi ahli kelas. Jika anda memanggil bar() dari dalam fungsi ahli kelas some_func(), ia akan memanggil fungsi ahli kelas. Walau bagaimanapun, dengan menggunakan ::bar(), anda boleh mengakses fungsi global bar() secara eksplisit.
Ringkasnya, pengendali resolusi skop tanpa skop merujuk kepada skop global, membolehkan anda mengakses simbol global dari sebarang konteks. Ia amat berguna apabila anda perlu menyahkekaburan antara berbilang simbol dengan nama yang sama atau apabila anda perlu mengakses simbol global dari dalam fungsi ahli kelas.
Atas ialah kandungan terperinci Apakah yang dilakukan oleh Operator Resolusi Skop (::) Tanpa Skop?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!