更新:又一次排版代码格式

除上篇博客介绍的基本数据类型外,C++ 还定义了一个内容丰富的抽象数据类 型标准库。

包含 string 和 vector,它们分别定义了字符串和矢量(集合)。string 和 vector 往往用迭代器iterator訪问 string 中的字符,或者 vector 中的元素。



      还有一种标准库类型 bitset。她提供了一些方法的集合。我们能够利用这些方法来像C语言那样控制整数的二进制表示的一个个比特位,比方01110101。我们能够利用bitset里提供的操作符来做与或非运算。与整型值上的内置位操作符相比,bitset 类类型提供了一种更方便的处理位的方式,她就好像前者是为C设计的,而后者是专门为C++设计的。各人的孩子各人爱,我们既然使用C++,就用改多用bitset,不用、少用前者。



       那啥,我们为什么在C++里要多用这些高级类型的数据呢?这是由于C语言定义的是低层数据类型,他们是机器相关的。比方在8位单片机上。int仅仅有8位。32位处理器上。int用32位来表示。即据其详细机器表示来定义。

除了这些与C语言中定义相相应的类型外,C++ 标准库还定义了自己独有的高级的抽象数据类型。它使得我们在使用这些类型表示问题时不必明确数据究竟怎样表示的(究竟是8位,32位),仅仅需知道这些抽象数据类型支持哪些操作就能够了。



       这当中。有两种重要的标准库类型是 string 和 vector。string 类型代表C++的字符串。vector代表数组,可用于保存一组指定类型的对象。

以下我举个样例:

使用 string 类型对象。必须包括相关头文件。

假设提供了合适的keywordusing 声明,那么编写出来的程序将会变得简短些:

#include <string>
using std::string;
int main()
{
string girl1; //为空串
string girl2(girl1); // 将 girl2 初始化为 girl1 的一个副本
string girl3("value"); //将girl3 初始化为一个字符串的副本
string girl4(n, 'c'); //将 girl4 初始化为字符 'c' 的 n 个副本
cin >> girl1; // 读进来以空格分开的字符串进入girl1
cout << girl1 << endl; //输出 girl1
vector<int> boy1; // boy1相当于int数组
vector<int> boy2(boy1);//拷贝boy1的元素进入boy2
}

本文属原创,转载请注明出处,违者必究

关注微信公众平台:程序猿互动联盟(coder_online),你能够第一时间获取原创技术文章。和(java/C/C++/Android/Windows/Linux)技术大牛做朋友。在线交流编程经验。获取编程基础知识。解决编程问题。

程序猿互动联盟。开发者自己的家。

C++ Primer高速入门之五:有用的模板库的更多相关文章

  1. C++ Primer高速入门之三:几种常见的控制语句

    语句总是顺序运行的:第一条语句运行完了接着是第二条,第三条等等.这是最简单的情况,为了更好的控制语句的运行.程序设计语言提供了多种控制结构支持更为复杂的语句运行.我们就来看看C++ 提供的控制方式. ...

  2. C++ Primer高速入门之六:数组和指针

    更新:勘误,delete [] 猪 我们知道,C语言以及早期的面向结构的语言差点儿都支持数组定义.比方整形数组int 女神[2].表示有俩数: 女神[0], 女神[1].她们都是整数. C++ 语言为 ...

  3. 《C++ Primer Plus》16.3 标准模板库 学习笔记

    STL提供了一组表示容器.迭代其.函数对象和算法的模板.容器是一个与数组类似的单元,可以存储若干个值.STL容器是同质的,即存储的值的类型相同:算法是完成特定任务(如对数组进行排序或在链表中查找特定值 ...

  4. VS2010/MFC编程入门之五(MFC消息映射机制概述)

    VS2010/MFC编程入门之五(MFC消息映射机制概述)-软件开发-鸡啄米 http://www.jizhuomi.com/software/147.html 上一讲鸡啄米为大家简单分析了MFC应用 ...

  5. Windows下FFmpeg高速入门

    本系列文章导航 Windows下FFmpeg高速入门 ffmpeg參数解释 mencoder和ffmpeg參数具体解释(Java处理视频) Java 生成视频缩略图(ffmpeg) 使用ffmpeg进 ...

  6. Tensorflow高速入门2--实现手写数字识别

    Tensorflow高速入门2–实现手写数字识别 环境: 虚拟机ubuntun16.0.4 Tensorflow 版本号:0.12.0(仅使用cpu下) Tensorflow安装见: http://b ...

  7. C语言高速入门系列(二)

    C语言高速入门系列(二) -----转载请注明出处coder-pig 本节引言: 在前面一节中我们对C语言进行了初步的了解,学会了使用IDE进行代码的编写,编译执行! 在这一节中我们会对C语言的基本的 ...

  8. Swift高速入门之函数

    函数 看一个函数的样例: func addNumbers( let a:Int,let b:Int)->Int{ return a+b; } 实现两个数相加.函数必须以func开头,后面是函数名 ...

  9. C语言高速入门系列(八)

    C语言高速入门系列(八) C语言位运算与文件 本章引言: 在不知不觉中我们的C高速入门系列已经慢慢地接近尾声了,而在这一节中,我们会对 C语言中的位运算和文件进行解析,相信这两章对于一些人来说是陌生的 ...

随机推荐

  1. python note of decorator

    def decorate_log(decorate_arg,*args,**kwargs): # 存放装饰器参数 def decorate_wrapper(func,*args,**kwargs): ...

  2. python 深复制和浅复制

    https://www.python-course.eu/python3_deep_copy.php-------------------------------------------------- ...

  3. HTML5 history API与ajax分页实例页面

    <ul id="choMenu" class="rel cho_menu"> <li><a href="ajax.php ...

  4. iframe天气预报

    <iframe style="float: right;" width="420" scrolling="no" height=&qu ...

  5. 常量指针(pointer to constant)和指针常量(constant pointer)

    一个指针可以操作两个实体,一个是指针值(即地址),一个是间访值(即指向的实体).于是指针的常量性也分为两种:常量指针(pointer to constant)和指针常量(constant pointe ...

  6. [Python3网络爬虫开发实战] 1.9.4-Scrapyd API的安装

    安装好了Scrapyd之后,我们可以直接请求它提供的API来获取当前主机的Scrapy任务运行状况.比如,某台主机的IP为192.168.1.1,则可以直接运行如下命令获取当前主机的所有Scrapy项 ...

  7. linux traceroute-显示数据包到主机间的路径

    博主推荐:更多网络测试相关命令关注 网络测试  收藏linux命令大全 traceroute命令用于追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小是40字节. 通过traceroute我 ...

  8. 自媒体人Chrome浏览器必备插件精选神器!

    自从互联网时代起,浏览器使用从最早的IE,到opera,到猎豹浏览器,到360双核浏览器,到火狐,到safari,到目前最喜欢用的chrome.一路下来,chrome的稳定性与扩展性征服了我,成了我必 ...

  9. [学习资料] Tiny210(S5PV210) u-boot移植

    Tiny210(S5PV210) u-boot移植http://www.microoh.com/bbs/forum.php?mod=viewthread&tid=254&fromuid ...

  10. C51 定时器/计数器 个人笔记

    C51的周期 结构图 两个功能寄存器 51单片机定时/计数器的工作由两个特殊功能寄存器控制.TMOD用于设置其工作方式:TCON用于控制其启动和中断申请. 工作方式寄存器TMOD 其中方式一和方式二常 ...