范围操作员(::)在班级名称中做什么
What the scope operator ( :: ) do in the class name
我发现以下类声明很难理解:
class App::Impl
现在的班级名称app :: shrom?范围操作员::
在类名称中做什么?
范围分辨率运算符(::)用于识别并指定标识符所指的上下文。因此,这里的App
指Impl
属于的命名空间。我们可以通过在不同的名称空间中将其子划分来拥有具有相同名称的不同类。在这种情况下,我们需要指定类的名称空间。
namespace X{
class Name {};
}
namespace Y{
class Name {};
}
在这里我们可以使用X::Name
和Y::Name
app是您称为Impl的该类的名称空间,可以在具有差异的更多命名空间中定义。
在C ::
中是范围分辨率运算符。它用于告诉编译器哪些名称空间或类属于什么。
在这种情况下,App::Impl
告诉编译器您正在谈论属于App
的Impl
。
相关文章:
- 什么是现实中的"endl"(或任何输出操纵器)?它是如何实现的,它如何与操作员<<一起工
- 范围操作员(::)在班级名称中做什么
- 什么保证了slice_array类操作员的行为?
- 比较操作员对字符串的含义是什么?
- 操作员[]作为成员函数的正确模板参数/参数是什么?
- 我无法与操作员>>匹配有什么原因吗?
- 操作员+过载有什么问题?
- C STL,我想知道地图中的双向迭代器和操作员[]之间有什么不同
- "+="操作员究竟是做什么的?
- 操作员过载的正确方法是什么,为什么这不起作用
- &lt;&lt;&lt;的这些超载有什么区别操作员
- 这些不同的方式在“ this”上调用操作员有什么区别
- 您可以在C 中使用BOOL和INT操作员执行什么操作
- 复制构造函数或作业操作员?我想念什么
- 操作员优先c |进行计算的确切顺序是什么
- STD ::向量有转换操作员吗?我看到了什么
- 我的操作员<出了什么问题?
- 操作员新做什么
- C++ - 垂直线操作员.它有什么作用
- 插入运算符重载有什么问题?(<<操作员)