我一直在使用Boost库,在Boost.Exception中,我注意到以下代码:
#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x)
Run Code Online (Sandbox Code Playgroud)
出于好奇:领先::
之前的目的是boost::throw_exception(x)
什么?
Ale*_*own 41
引用根命名空间.如果您的类或您的命名空间使用也存在于根目录中的名称,这通常很有用,但在某些时候您希望引用根版本.
例如,如果我new
在我的类中重载,但希望在某些时候引用默认(root)new
,那么我将用于::new
引用root new.
R S*_*hko 29
表明这是一个顶级名称空间.
它与目录名称的工作方式非常相似(但不完全相同).如果没有领先的双冒号,C++会先检查是否有当前的"活跃"的命名空间内的名字命名空间.如果没有,那么它将在顶层检查名称的命名空间.
使用前导双冒号,C++将跳过第一次检查,只查找顶级命名空间.
归档时间: |
|
查看次数: |
4274 次 |
最近记录: |