不断更新……
这是本人编程中经常搞错的东西,在此记录下来,便于查询复习……
1. :: -> . 三者的应用场景
::是作用域操作符,表示你引用的变量限定在该作用域内。::的左值为一个类,右值为该类的对象或方法。
class C
{
void fun();
}
在类外实例化fun()和访问fun的时候就要用到C::fun();
->是箭头操作符,只能用于指针变量操作。
->的功能相当于解引用操作符*和成员调用操作符.的组合体
class C
{
void fun();
}
int main()
{
C *p=new C();
//访问fun()可以使用如下
(*p).fun()
//或者直接
p->a;
return 0;
}
. 用于普通变量,例如
int main()
{
C p = new C();
//访问fun()可用
p.fun();
}
2.不能直接cout<<string,要在头文件里#include<string>