【发布时间】:2020-04-02 08:55:07
【问题描述】:
我在工作中的高级编程课程中学习 C++,因为到目前为止我只使用过 Web 和 .NET 语言。 在中途测试中,讲师将我对 (*a).b 的所有使用都标记为错误并扣分,这可能会对我的最终分数产生负面影响,我需要一个接近完美的分数才能将工作从 Web 堆栈过渡到应用程序stack,那么你们中的一些人可以帮我解决这个纠纷吗?
【问题讨论】:
-
请提供一个例子并尽可能具体。
-
它们是等价的; “->”只是语法糖
-
它们是等价的,但是当您将箭头作为更复杂表达式的一部分时,它就不那么难看了。这可能就是你的导师不希望你做
(*a).b的原因。最后,代码质量不仅包括代码做它应该做的事情,还包括它的可维护性和易于理解。 -
显然, (*a).b 在所有情况下都是正确的(几乎参见昆汀的回答),因此您可以争辩说扣分是不合理的。实际上,我更喜欢 a->b,因为它更简洁。