返回带或不带 *this 的变量的确切方式不同 |这不是关于*此指针|正确性
how exactly returning a variable with or without *this differs | this isn't questions about *this pointer | correctness
我有一个代码类,该类代表二进制树中的节点:
//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->
来参考成员(但是更好的解决方案是唯一地命名您的变量(。
相关文章:
- 为什么这不是解密
- OpenGL,为什么这不是一个立方体?
- 是否有必要使用 std::move?这不是已经是一个右值参考了吗?
- 如果这不是类的"复制构造函数",是否可以移动对象?
- 为什么这不是"调用隐式删除的'QQmlElement'的默认构造函数"中的默认构造函数
- 返回带或不带 *this 的变量的确切方式不同 |这不是关于*此指针|正确性
- 为什么这不是函数模板的部分专业化
- 观看文件夹和子文件夹以进行文件更改,这不是检测更改
- 如果这不是 boost::lockfree::d etail::freelist 中的错误,我在这里错过了什么
- 为什么这不是正确的生产者消费者模型以及当我使用 stl 队列时导致错误的原因
- 为什么这不是 POD
- Boost包括造成严重破坏 - 但这不是Boost的错
- 使用浮点值和铸造的算术运算的错误结果 - 差异很大,我想这不是准确值的情况(429497)?
- 为什么这不是内存泄漏?还是吗?删除不带虚拟析构函数的基类指针
- 为什么这不是C/C++中的一个无限循环
- 尽量减少c++中的重复代码,这不是一个简单的例子
- 为什么 gcc 4.8.1 给我">> should be > > within a nested templated list"错误?这不是在 C++11 中修复的吗?
- 为什么这不是一个常数表达式
- boost::any_cast(const any&) 使用 const_cast<> -- 这不是潜在的 UB 吗?
- C++ 这不是一个无用的内联声明吗?