一直觉得我的C++基础不好,大学也确实只学了一个学期的vc(非计算机专业),总觉得自己写的代码像是草台班子唱戏,很不专业。终于下定决心,从头学一遍C++Primer,查漏补缺,巩固基础,也正式开启我的博客之旅。
void main()对吗?
市面上的一些书籍使用了void main(),其实这是错误的。C/C++ 中从来没有定义过void main() 。C++ 之父 Bjarne Stroustrup 在他的主页上的 FAQ 中明确地写着 The definition void main() { /* ... */ } is not and never has been C++, nor has it even been C.(void main() 从来就不存在于 C++ 或者 C )。main的返回值类型只能是int。
空格符
在C++程序中,大部分出现空格符的地方可用换行符替换,有两个例外。一、字符串字面值中的空格符不能用换行符代替;二、空格符不允许出现在预处理指示中。
for语句
for(int val = 1; val <= 10; ++val )
sum += val;
当退出for循环后,变量val不再可访问。
读入未知数目的输入
#include <iostream>
int value;
while(cin>>value)
cout<<value<<endl;
while条件测试输入操作符的返回结果,即测试流的状态。如果遇到文件结束符或者无效的输入时,如读取了一个非整型的值,退出循环。
内置数据类型的机器级表示
大部分计算机都使用特定位数的块来处理存储,块的位数一般是2的幂,虽然确切的大小因机器而异,但通常将8位的块作为一个字节,32位或4个字节作为一个“字(word)”。
short、int、long类型都表示整型值,short为半个机器字(word)长,int为一个机器字长,long为一个或两个机器字长(32位机器中int和long通常字长相同)。
浮点型
float(32位)、double(64位)分别表示单精度浮点数和双精度浮点数,对实际的程序来说,float类型精度通常是不够的(float只能保证6位有效数字,而double至少10位),所以一般选择使用double类型的浮点数。