C++ 返回带有或不带有*这一点的变量有什么不同?这不是关于*这一指针|正确性的问题

C++ 返回带有或不带有*这一点的变量有什么不同?这不是关于*这一指针|正确性的问题,c++,binary-tree,C++,Binary Tree,下面有一个代码类,它表示二叉树中的一个节点: //btnode类 class btnode { public: btnode(int data): m_info(data), m_left(nullptr), m_right (nullptr) {} btnode* get_left_btnode () { return this->m_left; } btnode* get_right_btnode () { return this->m_right;

下面有一个代码类,它表示二叉树中的一个节点:

//btnode类

class btnode {
public:
    btnode(int data): m_info(data), m_left(nullptr), m_right (nullptr) {}

    btnode* get_left_btnode ()  { return this->m_left; }
    btnode* get_right_btnode () { return this->m_right; }
    int get_data () { return this->m_info;}
private:
    int m_info;
    btnode* m_left;
    btnode* m_right;
};
我有一个问题!如果我的成员职能如下,那又有什么关系呢

    btnode* get_left_btnode ()  { return m_left; }
    btnode* get_right_btnode () { return m_right; }
    int get_data () { return m_info;}

关于如何有效地编写此树节点的任何其他建议都会很有帮助

如果您询问此->是否需要显式取消引用,那么答案是否定的。这是完全可选的,在这种情况下没有区别


但是,在某些情况下,此->会产生影响。例如,如果您有一个名为与成员变量相同的局部变量,则需要使用此->来引用该成员,但更好的解决方案是唯一地命名您的变量。

代码复查问题更适合于此。这些getter函数没有用。公开会员@谢谢。只有我已经意识到了这一点。当我面临将更新的左子节点指向新添加的节点的问题时。猜猜左值问题。你能写一个小例子吗?它会影响结果的正确性,并且会有所不同。范围:问题。谢谢你的回答,虽然它会有所不同,例如:void set_infoint m_info{this->m_info=m_info};如果没有这个参数,成员m_info就被隐藏了——现在显然不需要这个参数,因为您不需要命名参数m_info,但您明白了这一点。@Max Langhof我很清楚这一点。我只是说,这与OP询问的3个get函数无关。当然,在某些情况下->会产生影响。我的意思是回答@Amaresh对重要的小例子的评论。抱歉搞混了!