学习笔记
C++ primer
第二章 开始学习C++
C++ 源代码基本组织布局(和C相似):
#include<iostream>
int main()
{
using namespace std;
cout >> "hello world!"<<endl;
return 0;
}
和C最大的区别时 using namespace 语句的使用,这很像C语言中变量名的作用域(存储类别),很好理解。其次是 cout/cin,这也不难理解,很像C中的io(C primer中文件重定向那章有提到输入输出与流的概念和他们之间的关系),cout/cin与重定向内容大致一致。头文件iostream我理解为输入输出流文件,类似于C中stdio.h。
本章都是介绍的C++的基础,和C有很多相似之处,对于C++中最重要的类有简要介绍,我还不太理解,但是下面这段话说的很清楚,类似于算法?数据结构?
类是用户定义的一种数据类型,要定义类,需要描述它能够表示什么信息和可对数据执行哪些操作。类之于对象如同类型之于变量。
本章小结:
C++程序由一个或多个被称为函数的模块组成。程序从main()函数开始执行,因此main()函数必不可少。函数由函数头和函数体组成。函数头指出函数的返回值(如果由的话)的类型和参数信息。
有多种类型的C++语句,包括下述6种。
声明
赋值
消息
函数调用
函数原型
返回
类是用户定义的数据类型规范,他详细描述了如何表示信息以及可对数据执行的操作。对象是根据规范创建的实体,就像简单变量是根据数据类型描述创建的实体一样。
C++提供了两个处理输入输出的预处理对象,他们是istream和ostream类的实现。这两个类是在iostream文件中定义的,为ostream类定义的插入运算符(<<)使得将数据插入输出流成为可能;为istream类定义的抽取运算符(>>)能够从输入流种抽取信息。cin和cout是智能对象,能够根据程序上下文自动将信息从一种形式转化为另一种形式。
思考:
如果istream和ostream是类的话,那么他们的操作是输入与输出,操作的对象是流。如何理解类是用户定义的呢?类与对象是不是撇去机器低层面的细节,将各种数据抽象为由类规范的统一对象后进行统一操作?因为cout不需要像printf一样用转义字符。