从头开始看C++primer(4th)(一)——兄弟,跟我一起来

来源:互联网 发布:数据库集群开端口 编辑:程序博客网 时间:2024/06/08 06:29

对于我这个大四学生,周围的一切都显得那么苍白。不过活着在于折腾 ,从今天开始,我开始写一些列的博客,首先就从这个类似读书笔记的系列开始。把看书的心的体会还有自己的一些想法发布在这里,欢迎大家多多交流。

     在读这本书之前对于C++印象只停留在课堂上和考试突击,之后基本在看C和java。好不多说,能有开始,就要继续下去。在有写这个读书笔记之前我已经把中文版的cp4看到了第三章,所以今天就把之前看的三张的心得与大家分享。

(1)首先要介绍的就是输入输出流,这里印象深刻的是输入输出操作符<<(输出)和>>(输入),<<,>>都接受两个操作数,左操作数<<右操作数,c++中每个操作数都会产生一个结果,也就是操作符作用到操作数上所产生的值。<<和>>也是操作符,当然也返回值。操作符对操作数是有要求的,对于<<和>>左操作数必须是iostream对象,而有操作数则是要输出的对象(可以使字面值,string对象,内置类型等等),下面举一个例子:

  

std::cout<<"hello dongxu"<<std::endl;


这里其实是可以分开写的

std::cout<<"hello dongxu";std::cout<<std::endl;


也就是最左边的输出操作符返回一个ostream对象(输入和输出操作符都是返回iostream对象),这正好满足了第二个操作符的左操作数(一个ostream对象)。

endl这里是一个特殊值,称为操纵符(manipulator),把他写入输出流是,有换行效果,同时刷新“关联缓冲区”(不懂。。)

根据上边<<的连续写入输出流,对输入流同样有

std::cin>>v1>>v2;//等同于std::cin>>v1;std::cin>>v2;


记住操作符返回的还是一个iostream,所以可以继续当做左操作数。

(2)记住for循环的测试条件

(开始)

  <判断>

     [do]

     [循环控制变量自增]

(3)while循环的测试条件可以是一个输入表达式

while(std::cin>>value){  //.....遇到文件结束符(win下是ctrl+z)//结束,或者遇到无效输入时如需要输入的//是字符,但是输入的是一整形也会停止}


 

#include<iostream>using std::cin;using std::cout;using std::endl;int main(){int v;  while(cin>>v)  {  cout<<v<<endl;  }return 0;}


所以上边对于整形v来说这个循环如果你输入1.3(浮点型)则循环会自动退出。

(4)基本类型比c多了bool(布尔),wchar_t(宽字符)这两种,int,char,bool统称为整型(integral type)wchar_t则是用来一个byte表示不了的字符,不如一个汉字等。

字长问题再强调一遍:short半个word,int一个word,long为一个或者一个半word。32位机中int和long通常相等。bool可以把任何算数类型赋给bool对象,0为false,而任何非0都是true。