30是什么意思

    xiaoxiao2021-12-14  80

    一些如上面代码中的30是一个神奇的数字。一个神奇的数字是一个硬编码的文字(通常是一个数字)在中间的代码,没有任何上下文。30是什么意思?虽然你可能会猜到,在这种情况下,它是每一类学生的最大数量,它不是绝对清晰。在更复杂的程序,它可以是非常困难的推断是硬编码的数字表示,除非有一个评论来解释它。 使用魔法数字通常被认为是不好的做法,因为除了不提供上下文,他们正在使用的,他们带来的问题,如果需要改变的价值。让我们假设学校买新的课桌,让他们提高班级规模从30到35,我们的程序需要反映。考虑下面的程序: 一 二 国际maxstudents = numclassrooms * 30; (30)setmax; 要更新我们的程序使用新的教室大小,我们必须更新常数30至35。但什么叫setmax()?那30和其他30有相同的意思吗?如果是这样的话,应该更新。如果不是,它应该被单独留下,否则我们可能会打破我们的计划在其他地方。如果你做一个全局搜索和替换,你可能无意中更新setmax()争论时,它不应该改变。因此,你必须查看所有的代码的每一个实例的文字30,然后确定它是否需要改变或不。这可能会严重消耗时间(和容易出错)。

    幸运的是,更好的选项(符号常量)存在。我们将讨论下一节课的那些。

    当声明一个整型变量,不是常量,该变量x的值可以被重新分配,后来。 int x = 5;//声明x整数变量和分配5 x x = 2;/ / 2现在分配给X,而不是5 x = 4;/ / 4现在分配给X,而不是2 在上面的例子中,x被声明,5被分配给X。我们可以再将另一个数赋给X,然后再改变x的值。 我们可以检查值是否已更改,并将其打印到控制台上: 使用命名空间; int x = 5; cout << x << endl;/ / x的值显示在这里是5 x = 2; cout << x << endl;/ /的值更改为2 x = 4; cout << x << endl;/现在是4 这个输出: 五 二 四 然而当我们声明一个变量为const,并给它分配一个值,我们不能指定另一个值以后: const int x = 5;//声明一个常数,X为整数变量,分配5 x x = 2;/ /编译器错误,因为我们不能将另一个值赋给X 虽然编译出现错误“无法分配到一个const变量,这是误导性的,因为你可以分配(初始化)字面常量到变量只有一次。因此,它的值保持不变,在整个程序。 我也是一个新手学习C++,但我刚刚这个逻辑从亚历克斯所写的过去,随着一些练习在Visual C++ 2010的表达!

    没有很多的原因,你需要指定的L前缀。 但让我们说你有两个功能: void doSomething(int); void doSomething(长); 如果你叫做(5),你会得到国际版而不是长版。用做(5L)会让你的版本,以长参数。 有可能是其他模糊的例子。 F前缀的使用更为普遍,因为浮点数有奇怪的截断/四舍五入问题。 考虑下面的代码: 一 二 三 四 五 浮动F = 0.67; 如果(F = 0.67) printf(“平等”); 其他的 printf(“不平等”); 这印“不等于”!为什么?当0.67被分配到F时,它被截断为0.670000017。当你将截断值与双值0.67比较时,它不匹配! 这一工程如预期的那样: 一 二 三 四 五 浮动F = 0.67; 如果(F = = 0.67f)//注意这里使用F后缀 printf(“平等”); 其他的 printf(“不平等”);

    转载请注明原文地址: https://ju.6miu.com/read-969655.html

    最新回复(0)