细节要点

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 类型的元素。

参考资料

  1. C++ Primer 4th Edition

最新文章

  1. R12.2 URL Validation failed. The error could have been caused through the use of the browser&#39;s navigation buttons
  2. Oracle 备份与还原
  3. 让IE8支持HTML5及canvas功能!
  4. SharePoint 2013 搜索体系结构
  5. pmf,cpmf,pdf,cdf,iid的解释
  6. linux安装ruby ruby-devel rubygems bundler
  7. iOS动画一点也不神秘————你是喜欢看幻灯片?还是看高清电影?
  8. 分布式memcached-虚拟节点
  9. ●HDU 1695 GCD
  10. 基于Vue2-Calendar改进的日历组件(含中文使用说明)
  11. 学习笔记CB001:NLTK库、语料库、词概率、双连词、词典
  12. Revit 模态框
  13. 小强学渲染之OpenGL的CPU管线
  14. 【CTF WEB】ISCC 2016 web 2题记录
  15. x=x+1,x+=1,及x++的效率哪个最高,为什么?
  16. Linux下使用openssl生成证书
  17. Nginx是如何配置为 Web 服务器的【转载】
  18. CSS实现圆角六色渐变自适应按钮
  19. 搭建属于自己的NuGet服务器
  20. photoshop 安装

热门文章

  1. CRM客户关系管理系统-需求概设和详设
  2. android 手机设置铃声
  3. python并发编程&amp;多进程(二)
  4. Linux中的history命令
  5. StringBuffer、StringBuilder
  6. NodeJS的一些总结
  7. zabbix-2.4.8-1添加tcp状态监控
  8. 算法寒假实习面试经过之 滴滴(电话一面二面 offer)
  9. 【HackerRank】Coin on the Table
  10. redis 第二篇 系统命令简介 上