双冒号 (::) 用于命名空间作用域解析和类静态成员访问,单冒号 (:) 用于基类初始化和隐式类型转换。
C 中 :: 和 : 的区别
在 C 编程语言中,双冒号 (::) 和 单冒号 (:) 运算符具有不同的用法和含义。
双冒号 (::)
双冒号 (::) 运算符用于以下场景:
<code class="cpp">namespace outer { int x = 10; } namespace inner { void printX() { std::cout << outer::x << std::endl; } }</code>
<code class="cpp">class MyClass { public: static int numInstances = 0; static void printNumInstances() { std::cout << numInstances << std::endl; } };</code>
单冒号 (:)
单冒号 (:) 运算符用于以下场景:
<code class="cpp">class Base { public: int x; }; class Derived : public Base { public: Derived(int x) : x(x) {} };</code>
<code class="cpp">int x = 10; double y = static_cast<double>(x);</code>
总结
双冒号 (::) 用于命名空间作用域解析和类静态成员访问,而单冒号 (:) 用于基类初始化和隐式类型转换。
以上是c++中::和:的区别的详细内容。更多信息请关注PHP中文网其他相关文章!