>>29
namespace毎に、
ハッシュ表と、親のnamespaceへのポインタ
を持っとけばいいんじゃない?

ns1::ns2::ns3::foo のときは、まず ns3 のハッシュ表を foo で検索してヒットするのでそれ。
ns1::foo の方は、最初に ns2 のハッシュ表を検索しても見つからないので、親のns1のハッシュ表を検索。
ns3::foo は、ns2 のハッシュ表に ns3 は名前空間でそれのハッシュ表はどれという情報が入っていて、ns3のハッシュ表を foo で検索して発見。