C++中的.操作符与->操作符到底哪个更好用呢?我个人觉得他们的功能都比较类似,容易混淆。因此我做了一个总结。对于一个结构:
struct Person{
String name;
String born;
double money;
};
我分别定义Person类型的非指针和指针变量:
Person A;
Person* B = new Person;
我们分别对A结构和B结构初始化:
A.name = "Dr.nothing";
B->name = "Dr.something";
A.money = 300.0;
(*B).money = 30;
A.born = "1283-12-3";
(*B).born ="1354-2-4";
这个结构指针B有两种初始化方法,对于指针使用"."操作符显得有点麻烦不人性化。因此对于指针使用"->"操作符是最好的选择。
对于结构变量A来说,使用"."操作符就足够了,因为"->"操作符本来就是为指针而设计的,显得这个语言更加有人性化。
总结:
若是使用到"->"操作符则左边的变量必须是指针变量
若是使用到"."操作符那么左边的变量不能为指针,指针变量需要使用"*"操作符访问到该地址的内容