@import url(http://www.cppblog.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
前言:
选择自己心中最新欢的事情去做,毕竟之前计算机基础课程基础也打得不错,深入的学习C++。我一直相信母亲说过的一句话:“不要认为你做不到,只要你想去做,就一定能做得到”。自我勉励之。同时开博是为了总结自己学习,希望能对有些人有所帮助。
由very simple的小程序包含的许多C++基础知识。
1 //a small C++ program
2 #include <iostream>
3
4 int main()
5 {
6 std::cout << "Hello, world!" << std::endl;
7 return 0;
8 }
#程序的第一行为注释,//是行注释。
#std是一个命名空间(名字空间)namespace
#对于return语句,return 0表示程序正常退出。
#对于return语句,如果是函数的定义要求返回某种特殊类型的值,那么这个函数中所有的return语句都必须返回相应类型的值。
#剖析“Hello world!程序的总结”如下
#该程序中有两个贯穿C++的概念,表达式和生存空间(scope)
#表达式
#表达式的作用是请求系统进行计算。计算后会生成一个结果,同时也可能会有一些副作用。(所谓的副作用就是它会影响程序或者系统的状态)。行6也是个表达式
,它的副作用是在标准输出流输出“Hello, world!”并且当行结束。
#表达式由操作符和操作数(operand)构成。如行6,两个<<符号都是操作符,而剩下的std::cout、“Hello world”、std::endl则是操作数。
#操作数:每个操作数都是一种类型。(即都表示一种数据结构和它适合的操作,它决定了操作符的脾气(产生的结果),总而言之只要记住操作数决定了操作符的 脾气。)(int表示整数类型,std::ostream定义为流输出,std::cout的类型是std::ostream)
#操作符:<<操作符有左结合性(left-assocoative)左结合性是一种贪心思想,当表达式出现两个以上的<<,左结合性总是贪心左边的操作数。
#分析:第一个<<是以std::cout作为它的左操作数,而以"Hello, world"作为右操作数。
第二个<<的左操作数是一个(生成std::cout结果)的表达式,其类型是std::ostream.右操作数是std::endl,是一个mainpulator(控制符)。当<<
左操作符是std::ostream,而右操作数是mainpulator时,<<会根mainpulator的语义来控制流输出,并且返回流作为它的结果。如:当mainpulator是
std::endl时,它结束当前输出行。
#scope
#namespace:命名空间机制,相当于java中的包机制。
#scope,中文称为生存空间,::是生存空间操作符,::左边是生存空间的表示符std,而右边就是定义在命名空间中的名字。
#“Hello,world”称为字符串直接量,字符串直接量中,一些字符前面加上(\)后具有特殊的意义。