Q&A:string、vector、iterator、bitset
2024-10-21 13:10:26
细节要点
getline(cin,string)与cin>>string
在VS2013中通过输入换行符\n
,对getline以及cin的用法进行测试,但是并没有像文中所述遇到换行符停止读入。而是ReadKey回车后停止读取。
getline
这个函数接受两个参数: 一个输入流对象和一个 string 对象。getline 函数从输入流的下一行读取,并保存读取的内容到不包括换行符。
和输入操作符不一样的是,getline 并不忽略行开头的换行符。只要 getline 遇到换行符,即便它是输入的第一个字符,getline 也将停止读入并返回。如果第一个字符就是换行符,则 string 参数将被置为空 string。
vector
可用于管理同一类型的对象集合。
迭代器(iterator)
- const_iterator对象
只能读取容器内的元素,但不能改变它的值。 它可以用于 const vector 或非 const vector,因为不能改写元素的值。 - const的iterator对象
vector<int> nums(10); // nums is nonconst
const vector<int>::iterator cit = nums.begin();
*cit = 1; // ok: cit can change its underlying element
++cit; // error: can't change the value of cit
声明const迭代器必须要先初始化,一旦初始化后就不能改变它的值,也不能指向其他元素。
总结
C++ 标准库定义了几种更高级的抽象数据类型,包括 string 和 vector 类型。
- string 类型提供了变长的字符串。
- vector 类型则可用于管理同一类型的对象集合。
- 迭代器实现了对存储于容器中对象的间接访问。迭代器可以用于访问和遍历 string 类型和 vectors 类型的元素。
参考资料
- C++ Primer 4th Edition
最新文章
- R12.2 URL Validation failed. The error could have been caused through the use of the browser&#39;s navigation buttons
- Oracle 备份与还原
- 让IE8支持HTML5及canvas功能!
- SharePoint 2013 搜索体系结构
- pmf,cpmf,pdf,cdf,iid的解释
- linux安装ruby ruby-devel rubygems bundler
- iOS动画一点也不神秘————你是喜欢看幻灯片?还是看高清电影?
- 分布式memcached-虚拟节点
- ●HDU 1695 GCD
- 基于Vue2-Calendar改进的日历组件(含中文使用说明)
- 学习笔记CB001:NLTK库、语料库、词概率、双连词、词典
- Revit 模态框
- 小强学渲染之OpenGL的CPU管线
- 【CTF WEB】ISCC 2016 web 2题记录
- x=x+1,x+=1,及x++的效率哪个最高,为什么?
- Linux下使用openssl生成证书
- Nginx是如何配置为 Web 服务器的【转载】
- CSS实现圆角六色渐变自适应按钮
- 搭建属于自己的NuGet服务器
- photoshop 安装