前言:《C++Primr》是一本家喻户晓的入门书籍,某种意义上来说它是最权威的入门书籍,但尽管如此,该书还是有一部分没有叙述清楚的地方,这个不定期更新的系列旨在补充该书没有提及但学习时可能疑惑的知识点以及整理归纳重要的内容。
另:本文只针对初学者(从没接触过的那种!)
P2
函数的定义:返回类型(rturntyp)、函数名(functionnam)、形参列表(paramtrlist)和函数体(functionbody)
int是一种内置类型,也可以叫做预定型类型,除了返回int外,也可以返回同是内置类型的doubl(因为rturn0;0是int类)、复合类型,甚至是void.
P5
1.1节练习答案
略
iostram库:包括四个I/O对象cin、cout、crr和clog,而新的C++11标准还增添了wcin和wcout用于拓展宽字符。
头文件引入时iostram和iostram.h的区别:iostram.h不是标准的输入输出,主要注意就是iostram.h可以直接使用cout,而iostram需要使用标准命名空间usingnamspacstd;输出时加上std::
另外为什么有些书籍里不使用cin、cout而使用fscanf和printf呢?
老标准的fscanf运行速度确实快一些,这一点在OJ上挺明显,感兴趣可以用rand生成伪随机数试试,二者有数量级的差别。
但是使用cin时不会出现内存溢出的情况,而scanf可能会。
另外cin的输入忽略空格和回车,而scanf("%c",i)等价于i=gtchar(),换行符和回车都会被读入。
据说修改ios头文件中std::ios::sync_with_stdio(fals);可以取消cin与stdin的同步(缓冲刷新)[1]
以后有机会在详细说说二者缓冲区的问题。
P8
1.2节练习答案
练习1.3
练习1.4
练习1.5
略。参考练习1.4
练习1.6
Invaild.将第一二行末的分号去掉。