Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Perbezaan antara :: dan

Perbezaan antara :: dan

下次还敢
下次还敢asal
2024-04-26 15:15:21914semak imbas

Kolon (::) digunakan untuk mengakses ruang nama global atau ahli statik kelas, manakala noktah (.) digunakan untuk mengakses ahli contoh kelas. Contohnya, std::cout menggunakan :: untuk mengakses fungsi dalam ruang nama global dan obj.instanceVar menggunakan . . digunakan untuk mengakses ahli statik kelas Instance ahli kelas.

Jawapan terperinci: Perbezaan antara :: dan

Kolon (::)

digunakan untuk mengakses pengecam, pembolehubah atau fungsi yang ditakrifkan dalam ruang nama global, contohnya: std::cout.

Digunakan untuk mengakses ahli statik kelas (iaitu ahli yang tidak bergantung pada tika objek), contohnya: Nama Kelas::staticMember.

digunakan untuk melayakkan nama kelas untuk mengelakkan konflik nama, contohnya: namespaceA::ClassName.

Tempoh (.)

digunakan untuk mengakses ahli contoh kelas (iaitu ahli yang dikaitkan dengan tika objek tertentu), contohnya: object.instanceMember.
  • Digunakan untuk memanggil fungsi ahli kelas, contohnya: object.memberFunction(). std::cout
  • 用于访问类的静态成员(即不依赖于对象实例的成员),例如:ClassName::staticMember
  • 用于限定类名,从而避免名称冲突,例如:namespaceA::ClassName

句点 (.)

  • 用于访问类的实例成员(即与具体对象实例相关联的成员),例如:object.instanceMember
  • 用于调用类的成员函数,例如:object.memberFunction()
  • 用于访问对象指针或引用指向的成员,例如:*objectPtr.member
  • Digunakan untuk mengakses ahli yang ditunjuk oleh penunjuk objek atau rujukan, contohnya: *objectPtr.member.

Contoh:

🎜
<code class="cpp">// 全局命名空间的函数
std::cout << "Hello world!" << std::endl;

// 类的静态成员变量
class MyClass {
public:
    static int staticVar;
};
int MyClass::staticVar = 42;

// 类的实例成员变量和函数
class MyObject {
public:
    int instanceVar;
    void instanceFunc() {
        std::cout << instanceVar << std::endl;
    }
};
MyObject obj;
obj.instanceVar = 10;
obj.instanceFunc(); // 输出: 10</code>

Atas ialah kandungan terperinci Perbezaan antara :: dan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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