Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在 Ogre3D 中有这个 typedef:
namespace Ogre { typedef vector<String>::type StringVector; ... }
“::”运算符有什么用?它有什么作用吗?事实上,我认为这是一个字符串向量 - 一个 StringVector。正确的?
定义一个类型StringVector是vector<String>::type.
StringVector
vector<String>::type
似乎type是一种类型,在内部定义vector(即template class)
type
vector
template class
::被称为“范围解析算子”。
::
type是在类中声明的某个实体(显然是一种类型)vector。::运算符用于引用type命名vector空间中的元素。
PS 通过说“命名空间”,我不仅仅指实际的 C++namespace功能,因为类也类似于命名空间,因为它们可以具有嵌套定义。
namespace