タグ

inlineとnamespaceに関するItisangoのブックマーク (1)

  • gcc-4.7におけるinline namespaceとnamespaceの混在

    C++11にはインラインネームスペースという機能があります。インラインネームスペース内は透過的にアクセスすることが可能です。 inline namespace name { void foo(); } この場合fooはname::foo();でもfoo();でも呼び出せます。 そんなinline namespace。gccでも実装されているのですが、同名のinline namespaceとnamespaceを作るとどちらもinline namespaceとして扱われてしまうというバグが存在しています。 namespace name { void func1() {} } inline namespace name { void func2() {} } 上記のように同じ名前空間をinline namespace/namespace両方でで宣言すると、どちらに含まれる識別子も名前修飾なしで透

    Itisango
    Itisango 2012/05/23
    "そもそも同名名前空間のinlineと非インラインの混在がダメなような気がしますが、それができて、その通り機能してくれたらライブラリ屋さん的には便利かも?と思います。"
  • 1