声明一个不带const的变量vs带const-Test Question



仅供参考:这只是一个固执己见的问题,我想听听其他人的意见。

这是我在计算机科学课上的一次考试的答案。正如你所知,这是我们的第一次测试,并且类中使用的语言是明确的C++。如果你点击上面图片的链接,你会看到一个问题,告诉我存在语法错误,我将编写可接受的代码来使其工作。我对这个问题的回答是"双x;"。显然,这是不正确的,我应该"假设决赛意味着我需要把const放在那里"。现在,我真的理解我的老师的逻辑,因为const确实有效,但问题中没有任何关于常量的内容,也没有任何关于使变量成为常量的内容。无论如何,这两个答案都应该是可以接受的。

我写这篇文章的目的是找到一种感觉,"我只是错了吗?",或者你们同意这显然是正确的吗?

顺便说一句,如果你想知道的话,这并不是在指令中指常量的部分,也不是在整个测试中提到常量这个词的部分。这只是某种直觉

"final"标记虚拟成员函数,这样它们就不能在子类中被重写,但这对变量或数据成员是不合法的。因此,我看到的主要语法错误是非法使用final和变量;

这个程序有一个语法错误,人们只能猜测这个程序的作者真正的意图。而且——正如它所猜测的那样——我想说,你可以争论的每一个有效的猜测都应该被接受。

你学到了一些东西。你的教授对RAII和const的正确性很挑剔。

您现在知道,在这个类中,任何未修改的变量(即使它可能在重构之后(都必须是const。将所有内容都设为const,并在需要时移除const。

您还知道,对于这个类,您永远不应该在没有初始化的情况下进行声明。

遵循这些原则,你就会在期末考试中名列前茅。这些都是好原则。也许教授对他们的申请有点苛刻。但是,嘿,你不会改变他/她。

最新更新