冒號 (::) 用於存取全域命名空間或類別的靜態成員,而句點 (.) 用於存取類別的實例成員。例如,std::cout 使用 :: 存取全域命名空間中的函數,obj.instanceVar 使用 . 存取類別的實例成員變數。
C 中:: 與. 的區別
簡短回答:
冒號(::) 用於存取全域命名空間或類別的靜態成員,而句點(.) 用於存取類別的實例成員。
詳細解答:
冒號(::)
std::cout
。 ClassName::staticMember
。 namespaceA::ClassName
。 句點(.)
object.instanceMember
。 object.memberFunction()
。 *objectPtr.member
。 範例:
<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>
以上是c++中::與.的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!