摘要:
全局对象在程序启动时分配,在程序结束时销毁。对于局部自动对象,当我们进入其定义所在的程序块时被创建,在离开块时销毁。局部static对象在第一次使用前分配,在程序结束时销毁。 除了自动和static对象外,C++还支持动态分配对象。动态分配的对象的生命期与它们在哪里创建是无关的,只有当显示地被释放时 阅读全文
摘要:
关联容器和顺序容器有着根本的不同:关联容器中的元素是按关键字来保存和访问的。与之相对,顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的。 关联容器支持高效的关键字查找和访问。两个主要的关联容器类型是map和set。map中的元素是一些关键字 值对:关键字起到索引的作用,值表示与索引相关联的数 阅读全文
摘要:
一、再探迭代器 除了为每个容器定义的迭代器之外,标准库在头文件iterator中还定义了额外几种迭代器。这些迭代器包括以下几种: a、插入迭代器:这些迭代器被绑定到一个容器上,可用来向容器插入元素。 b、流迭代器:这些迭代器被绑定到输入或输出流上,可用来遍历所关联的IO流。 c、反向迭代器:这些迭代 阅读全文
摘要:
一、概述 标准库定义了一组泛型算法:称它们为“算法”,是因为它们实现了一些经典算法的公共接口,如排序和搜索;称它们是“泛型”,是因为它们可以用于不同类型的元素和多种容器类型(不仅包括标准库类型,如vector或list,还包括内置的数组类型)。 大多数算法都定义在头文件algorithm中。标准库还 阅读全文
摘要:
一、顺序容器操作 1、向顺序容器添加元素 向顺序容器(array除外)添加元素的操作: forward_list有自己专有版本的insert和emplace。forward_list不支持push_back和emplace_back。vector和string不支持push_front和emplac 阅读全文
摘要:
一、顺序容器概述 一个容器就是一些特定类型对象的集合。顺序容器为程序员提供了控制元素存储和访问顺序的能力。这种顺序不依赖于元素的值,而是与元素加入容器时的位置相对应。 顺序容器类型: string和vector将元素保存在连续的内存空间中。由于元素是连续存储的,由元素的下标来计算其地址是非常快速的。 阅读全文
摘要:
一、IO类 1、IO库类型和头文件表: istream,wistream 从流读取数据 ostream,wostream 向流写入数据 iostream,wiostream 读写流 ifstream,wifstream 从文件读取数据 ofstream,wofstream 向文件写入数据 fstre 阅读全文
摘要:
一、类的其他特性 1、类成员再探 1)定义一个类型成员 除了定义数据和函数成员之外,类还可以自定义某种类型在类中的别名。由类定义的类型名字和其他成员一样存在访问限制,可以是public或者private中的一种。用来定义类型别名的成员必须先定义后使用,因此,类型成员通常出现在类开始的地方。 1 // 阅读全文
摘要:
一、类的定义 类内初始值必须以符号=或者花括号表示。 1、成员函数 1)定义成员函数 成员函数的声明必须在类的内部,它的定义既可以在类的内部也可以在类的外部。定义在类内部的成员函数是隐式的inline函数。 成员函数通过一个名为this的额外的隐式参数来访问调用它的那个对象。当我们调用一个成员函数时 阅读全文
摘要:
一、函数重载 如果同一作用域内的几个函数名字相同但形参列表不同,我们称之为重载函数。 1、定义重载函数 对于重载的函数来说,它们应该在形参数量或形参类型上有所不同。 2、重载和const形参 一个拥有顶层const的形参无法和另一个没有顶层const的形参区分开来: 如果形参是某种类型的指针或引用, 阅读全文