Apa yang Ada di Sebalik Tanda Berganda Bertanda (::)?
Apabila menemui kod yang menggunakan kolon berganda yang diawali (::), seperti baris ": :Configuration * tmpCo = m_configurationDB;", mudah untuk berasa bingung. Mari kita mendalami maksud di sebalik sintaks yang membingungkan ini.
Tanda bertindih dua :: digunakan untuk dua tujuan utama:
Resolusi Ruang Nama Global:
Mengelakkan Ruang Nama Bergolak:
Untuk menggambarkan konsep ini dengan lebih lanjut, pertimbangkan perkara berikut contoh:
class Configuration; // Global namespace, Class A namespace MyApp { class Configuration; // Local namespace, Class B void blah() { // Resolve to Class B (local) Configuration::doStuff(...) // Resolve to Class A (global) ::Configuration::doStuff(...) } }
Seperti yang anda lihat, menggunakan :: dalam ": :Configuration * tmpCo = m_configurationDB;" memastikan bahawa resolusi Konfigurasi kelas bermula dari ruang nama global. Ini menghalang sebarang kemungkinan kekaburan yang mungkin timbul akibat konflik nama dalam ruang nama lain.
Atas ialah kandungan terperinci Apakah Maksud Titik Berganda (::) dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!