我最近介绍了通用编程库的设计,如STL,boost :: graph,boost PropertyMaps http://www.boost.org/doc/libs/1_54_0/libs/property_map/doc/property_map.html
使用像get(PropertyMap,key)这样的自由函数而不是像PropertyMap.get(key)这样的成员函数的原理是什么?
我知道这些函数的最通用形式是在"boost"命名空间中定义的.假设我在命名空间"project"中定义了一个新的PropertyMap,定义它的相应"get"函数的最佳位置是什么?"提升"或"项目"