我正在查看两个源代码。一个用这个:
using boost::property_tree::ptree;
另一个使用它:
namespace ptree = boost::property_tree::ptree;
有什么区别?
答案 0 :(得分:7)
使用
using boost::property_tree::ptree;
将boost::property_tree::ptree
类拉入当前命名空间。从那时起,您可以使用ptree
代替boost::property_tree::ptree
。
使用
namespace ptree = boost::property_tree::ptree;
您应该有一个错误,因为boost::property_tree::ptree
是类而不是命名空间。否则(如果它是命名空间)它将为命名空间创建别名(例如Boost property tree tutorials中pt
的使用方式)。
答案 1 :(得分:-1)
namespace
语句将命名空间带入范围。 ::
语句定义了一个别名(要使用它,您必须使用var opener = window.opener;
if(opener) {
var oDom = opener.document;
var elem = oDom.getElementById("your element");
if (elem) {
var val = elem.value;
}
}
运算符访问它。)
编辑:请看程序员老兄的答案以获得正确的答案。