3
是否有一種方法可以在不使用::fully::qualified::namespace::name
表單的情況下以C++回溯命名空間?回溯命名空間
考慮:
namespace f {
void p() { }
namespace g {
void p() {
[..]::p();
}
}
}
是那裏的[..]
的正確形式,除了完全限定它(即::f::p()
)? 目標是不是使用p(),因爲無限遞歸不是這裏的目標,同時也不使用FQ來節省空間。
`˚F:: p`不_fully_限定它沒有明確的方法。例如, `namespace f {void p(); {namespace f {void p(){f :: p();}}}}`會導致無限遞歸,而`:: f :: p()`可能不會`f: :p`只是尋找最近的`f`,然後在任何找到的`f`中尋找`p`。在你的情況下`f :: p`是所需的最低限定條件。你不需要一個完整的`:` :f :: p`雖然在這種情況下沒有太多的收穫 – 2011-12-16 08:21:54