0

このようなコードを書くことはできますか

class Foo
{
    typedef Foo type;
};

これについて、標準に制限はありません。

4

2 に答える 2

1

注:コンパイラ: Apple GCC、OS: OSX 10.7

GCC はこれに問題はないと判断し、type後で Foo の定義でこの型を使用できます。typeただし、 Foo 以外で型を使用することはできません。

于 2013-03-21T14:41:25.047 に答える
0

そのコードを書くことは可能です。typeFooは予約語ではなく、C++では構造体またはクラス内で型を定義できます。実際、これらはメタプログラミングや型のイントロスペクションのテンプレートで頻繁に使用されています。言語のその側面の詳細については、C++で依存する名前をどのように理解するかを参照してください。

于 2013-03-21T14:51:34.887 に答える