返回带或不带 *this 的变量的确切方式不同 |这不是关于*此指针|正确性

how exactly returning a variable with or without *this differs | this isn't questions about *this pointer | correctness

本文关键字:这不是 正确性 指针 this 变量 返回 方式不      更新时间:2023-10-16

我有一个代码类,该类代表二进制树中的节点:

//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;}

关于如何有效编写此treenode的任何其他建议将有用

如果您询问是否需要this的显式删除( this->(,则答案是否。它是完全可选的,在这种情况下没有区别。

在某些情况下,this->有所作为。例如,如果您的本地变量与成员变量相同,则需要this->来参考成员(但是更好的解决方案是唯一地命名您的变量(。