我在一个类中找到了这行代码,我必须修改它:
::Configuration * tmpCo = m_configurationDB;//pointer to current db
我不知道类名前面的双冒号到底意味着什么。没有它我会读:声明tmpCo
作为指向该类的对象的指针Configuration
...但是前面的双冒号让我感到困惑。
我还发现:
typedef ::config::set ConfigSet;
这确保解析从全局命名空间开始,而不是从您当前所在的命名空间开始。例如,如果您有两个不同的类,称为Configuration
像这样:
class Configuration; // class 1, in global namespace
namespace MyApp
{
class Configuration; // class 2, different from class 1
function blah()
{
// resolves to MyApp::Configuration, class 2
Configuration::doStuff(...)
// resolves to top-level Configuration, class 1
::Configuration::doStuff(...)
}
}
基本上,它允许您遍历全局名称空间,因为您的名称可能会被另一个名称空间内的新定义破坏,在这种情况下MyApp
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)