我想檢查一個完全合格的名稱和一個非限定名稱或部分限定名稱是否引用相同的符號,即使沒有定義一個名稱。也就是說,我希望能夠寫這樣的事情作爲重構工具的一部分:如何檢查一個名稱是否與另一個名稱相同?
namespace A {
void f() {};
}
namespace B {
namespace A {};
bool g() {
// returns false
return is_same_symbol<A::f, ::A::f>::value;
}
}
namespace C {
bool h() {
// returns true
return is_same_symbol<A::f, ::A::f>::value;
}
}
「我想檢查是否能夠檢查兩個不同的符號是否指向同一事物,即使其中一個不存在。」這沒有什麼意義。 –
@NeilButterworth是的,我知道,我不知道如何表達它。我想有一種更好的方式來說這是「我想檢查一個完全合格的名稱和一個不合格或部分合格的名稱是否指向相同的符號」 –
如果一個符號沒有定義,並且您嘗試使用它,你會得到一個編譯器錯誤,很簡單。 – AndyG