目前已经学过了作用域运算符的三个作用
1.调用类中静态成员函数
class Person { public: static int m_person; }; int main() { Person::m_person; }
2.类内用typedef或则using起类型别名,在类外使用该类型别名时:
class Person { public: using pi=int; }; int main() { Person::pi a=0;//a实际上是一个int类型,只不过Person类封装了int }
其实最常见的就是string::size_type和vector<T>::size_type了它们分别是字符串类的size()(代表字符类的大小)返回值类型,下标类型和vector类的size()(代表字符类的大小)返回值类型,下标类型。
3.等同于this
1 Person(int B) 2 { 3 Person::m_b = B; 4 m_b = B; 5 this->m_b = B; 6 }
以上三种写法效果等同