C++ STL入门:动态数组vector详解

需积分: 0 1 下载量 149 浏览量 更新于2024-07-14 收藏 114KB PPT 举报
"这篇资料主要介绍了C++中的动态数组vector,也称为向量,它是STL(Standard Template Library,标准模板库)的一部分。STL提供了一系列的容器,如string、sstream、algorithm、vector、stack、queue、set和map等,其中vector作为动态数组,其大小可以根据需求动态调整。在编程中,当不确定数组初始大小时,使用vector是一个很好的选择。通过`#include <vector>`可以引入vector相关的功能。 vector的优点在于,它的大小可以在运行时动态决定,可以通过成员函数获取数组长度,且STL为vector提供了丰富的操作和支持,提高了程序的可读性和效率。例如,可以使用`push_back()`向vector的末尾添加元素,使用`pop_back()`移除最后一个元素,`insert()`函数可以在任意位置插入元素,`erase()`用于删除元素,`resize()`可以改变vector的大小,而`size()`则返回vector当前包含的元素数量。 在处理字符串方面,C++中的`std::string`类提供了许多便利的方法,如`begin()`和`end()`分别表示字符串的起始和结束位置,`size()`返回字符串长度,`substr()`用于提取子字符串,`find()`查找子串的位置,以及直接的赋值和比较操作。此外,`std::string`还支持通过索引访问单个字符,但需要注意索引范围是0到`length()-1`。 在输入字符串时,`cin >>`通常会忽略前导空格并以空格结束输入,而`getline()`则可以读取整行,包括行末的回车符。在处理多单词的输入时,`getline()`通常是更优的选择。 另外,`std::stringstream`允许将字符串当作输入/输出流来处理,方便地进行字符串与其它类型(如整数)之间的转换。例如,可以利用`stringstream`将一个包含多个单词的字符串分解成单独的单词,或者将数字字符串转换为整数。 vector和string是C++ STL中的两个重要工具,它们提供了高效、灵活的字符串处理和动态数组管理能力,是编写C++程序时不可或缺的部分。了解和熟练掌握这些基础知识对于提高编程效率和代码质量至关重要。"