采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
bobo老师好,我是只会java不会c++的铁头娃。简单2天学习c++之后,发现c++和java还是很像的。学到5-4感觉不是很吃力。
有一点不明。c++ node.left和node->left有啥区别?
谢谢。
点和箭头表意是一样的,作用的对象不同。
点作用于一个类对象上;箭头作用于一个对象指针上。
所以,
如果你能调用node.left,node的类型一定是Node;
如果你能调用node->left,node的类型一定是Node*;(注意:多了一个星号!)
反之,
如果node的类型是Node,则你只能调用node.left,试图调用node->left是编译不过的;
如果node的类型是Node*(注意:多了一个星号!),则你只能调用node->left,试图调用node.left是编译不过的;
如果你的node是指针,你想调用点运算符,可以这样做:(*node).left
如果你不熟悉C++,相信你已经晕了。所以Java更简单。由于Java不区分对象和对象指针,所以就没有这两个运算符的区别。在Java中,统一叫对象引用。
但其实,Java中引用这个概念,更像C++的指针。(或者说就是C++的指针)。在Java中,所有的类实例变量都是引用,本质是所有的类实例变量,都是C++中的指针:)
加油!:)
明白了!谢谢男神!
登录后可查看更多问答,登录/注册
课程专为:短时间内应对面试、升职测评等艰巨任务打造
8.8k 21
5.7k 3
4.9k 5
1.4k 18