私は Ogre3D にこの typedef を持っています:
namespace Ogre {
typedef vector<String>::type StringVector;
...
}
「::」演算子とは何ですか? それは何かをしますか?そのままでは、これは文字列のベクトル、つまり StringVector だと思います。正しい?
StringVectorであるタイプを定義しvector<String>::typeます。
type内部で定義されたタイプのようですvector(これはですtemplate class)
::「スコープ解決演算子」と呼ばれます。
typevectorクラス内で宣言されたエンティティ(明らかに型)です。::演算子は、名前空間typeから要素を参照するために使用されます。vector
PS 「名前空間」と言うのは、実際の C++namespace機能だけを意味しているわけではありません。クラスは、ネストされた定義を持つことができるという点で名前空間にも似ているからです。