0

私はこのコードを持っています:

template <typename T>
class CircularBuffer
{
 public:
  typename typedef std::list<T>::iterator iterator;

  //other code
};

イテレータ宣言の型名は何をしますか? typedef が「'iterator' と呼びたいリスト イテレータがあります。しかし、typename の目的は何ですか?それは、リストが必要な typename T を格納できるというだけの理由ですか?それは何かのためですか?そうしないと?

ありがとう、

トム

編集:リスト反復子が修飾された依存型であるため、その前に typename が必要ですか? または、より正確には、私が定義している typedef、型 std::list::iterator に基づく 'iterator' は、修飾された依存リストの反復子であるため、修飾された依存型ですか?

4

0 に答える 0