幸运的是,更好的选项(符号常量)存在。我们将讨论下一节课的那些。
当声明一个整型变量,不是常量,该变量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(“不平等”);
