Rumah >pembangunan bahagian belakang >C++ >Apakah yang Ditandakan '::' dalam Kod C?
Menyingkap Kepentingan Tanda Tanda Berganda "::"
Apabila menemui baris kod seperti berikut:
::Configuration * tmpCo = m_configurationDB;//pointer to current db
seseorang mungkin tertanya-tanya dengan kehadiran kolon berganda yang disertakan pada nama kelas. Untuk menjelaskan tujuannya:
Resolusi Ruang Nama Global
Tanda bertindih dua berfungsi sebagai satu cara untuk mengakses kelas, fungsi atau pembolehubah dari ruang nama global, tanpa mengira semasa skop ruang nama. Ini amat berguna apabila perlanggaran nama berlaku disebabkan oleh berbilang ruang nama.
Sebagai contoh, pertimbangkan senario berikut:
class Configuration; // global namespace namespace MyApp { class Configuration; // MyApp namespace }
Dalam ruang nama MyApp, kelas Konfigurasi berbeza daripada Konfigurasi global . Walau bagaimanapun, jika seseorang menggunakan Konfigurasi tanpa menyatakan ruang nama, ia akan menyelesaikan kepada MyApp::Configuration.
Untuk memastikan ia menyelesaikan kepada ruang nama global, bertindih dua boleh digunakan:
::Configuration::doStuff() // resolves to the global Configuration
Dalam konteks ini, titik bertindih berganda yang disediakan memastikan bahawa peleraian berlaku daripada ruang nama global, bukannya ruang nama semasa (dalam kes ini, MyApp).
Atas ialah kandungan terperinci Apakah yang Ditandakan '::' dalam Kod C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!