licoded / self-study-drafts

buffer for records
0 stars 0 forks source link

关于“operator++()重载运算符”的疑问讨论 #125

Open licoded opened 1 year ago

licoded commented 1 year ago
重载运算符的问题

Q: 最上面的那行,是对迭代器 node 进行了后移操作 A: 嗯啊,对

Q: node 作为全局变量,是不是返回它也无所谓 A: 不是全局变量吧,我看只是构造参数;你确定是全局变量吗?

Q: 但是下面的 operator++(int) 后缀加法,里面的 ++*this,为什么不是返回 node 呢,这样不是更清晰 A: 是指最后一行?同上一问,因为node不是全局变量,只是构造参数,要返回包装node的对象引用,保证++操作传入和传出的类型一致

我本来以为是最上面一行,所以原回答如下: 你应该是这里下面搞错了(就是pre/post-increment operator搞混了) 57ec739641a8a0ae0d268aadef8300ec