Top > C++ > usingとtypedef

usingとtypedefが等価になる場合を発見したのでメモ。

Everything is expanded.Everything is shortened.
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 
-
|
!
 
 
-
|
|
!
 
namespace hoge
{
  class Foo;
}
 
namespace abc
{
  using ::hoge::Foo;
  typedef ::hoge::Foo Foo;
}

これは,::abcにFooという名前を定義する。
Fooは::hoge::Fooのことである。

という内容のもの。

ちなみに,下のように二度書きしてもコンパイラには怒られない。

Everything is expanded.Everything is shortened.
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 
-
|
!
 
 
-
|
|
|
|
!
 
namespace hoge
{
  class Foo;
}
 
namespace abc
{
  using ::hoge::Foo;
  typedef ::hoge::Foo Foo;
  using ::hoge::Foo;
  typedef ::hoge::Foo Foo;
}

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes
Last-modified: (5886d)