1 认识标准库

    没有任何一个重要程序只用某种赤裸裸的程序设计语言写出的;首先总要开发出一组支持库,这也形成了进一步工作的基础。

2 第一个程序

    

    #include<iostream>  //指编译器包含位于iostream里的标准流I/O功能的声明

    int main() //定义一个main()函数,该函数没有参数,也不做任何事情

    {

        std::cout<<"hello,world!\n"; //字符串文字量“hello,world!\n”将被写进标准输出流std::cout

    }

3 标准库名字空间

    为了明确使用的是标准库,又不必实时列出标准前缀,则可以采用标准库名字空间。

    #include<string>        //使标准字符串功能可以使用

    using namespace std;    //使所有std名字都可用,不必加前缀std::

    string s="hello,world!\n"; //string就是std:string

4 输入/输出

    (1)输出 库iostream为每种内部定义了相应的输出方式。

    void f()

    {    

        cout<<IO; //把字符I而后是字符O放入标准输出流里

    }

    void g()

    {

        int i=IO;

        count <<i;

    }

    void h(int i)

    {

        cout<<"the value of i is";

        cout<<i;

        cout<<"\n";   

    }

    字符常量的形式是单引号括起的一个字符,注意,字符常量被输出为一个字符,而不是一个数值。

    void h2(int i)

    {

        count<<"teh value of i is"<<i<<"\n";//连续输出

     }

    (2)输入 标准库为输入提供了istream

5 字符串

    标准库提供了一个string类型,作为前面所用的字符串的补充。

#include <iostream>
#include <string>
using namespace std;
string s1 = "hello";
string s2 ="world";
void main( )
{
cout<<"hello,world!\n";
string s3 =s1 +","+ s2 +"!\n";
cout<<s3;
}

6 容器

    以保存一批对象为主要用途的类通常被称为一个容器。

    (1)向量-vector

    内部数组具有固定的规模,如果我们选择了某个很大的规模,那么就会浪费存储;而如果选择一个过小的规模,数组又会溢出。Vector 类在 java 中可以实现自动增长的对象数组; vector在C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库

    (2)范围检查

    提供一个异常处理器,如果我们未能捕获某些异常,他就会在标准的错误诊断输出流打印一个错误。

    (3)表-list

    List 是类库中的一个类,可以简单视之为双向连结串行,以线性列的方式管理物件集合。list 的特色是在集合的任何位置增加或删除元素都很快,但是不支持随机存取。list 是类库提供的众多容器(container)之一

    (4)映射-map

7 算法

    (1)迭代器的使用

    迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。迭代器修改了常规指针的接口,所谓迭代器是一种概念上的抽象:那些行为上像迭代器的东西都可以叫做迭代器。然而迭代器有很多不同的能力,它可以把抽象容器和通用算法有机的统一起来

    (2)迭代器类型

    (3)迭代器和IO
    (4)遍历和谓词

    (5)使用成员函数的算法

    (6)标准库算法

8 数学

    (1)复数

    (2)向量算术

    (3)基本数值支持

9 标准库功能

    标准库所提供的功能可以分类如下:

    (1)基本运行支持(例如,存储分配和运行类型信息等)

    (2)C标准库(做了极少的修改,以便尽可能能地减少其中违反类型系统的情况)

    (3)字符串和IO流(包括国际化字符集合本地化)

    (4)容器和使用容器的算法

    (5)对数值计算的支持