<<C++ Primer>> 第三章 字符串, 向量和数组 术语表
术语表
第 3 章 字符串, 向量和数组
begin: 是 string 和 vector 的成员,返回指向第一个元素的迭代器。也是一个标准库函数,输入一个数字,返回指向该数字首元素的指针。
缓冲区溢出(buffer overflow): 一种严重的程序故障,主要的原因是试图通过一个越界的索引访问容器内容,容器类型包括 string,vector 和 数组等。
C 风格字符串(C-style string): 以空字符结束的字符数组。字符串字面值是 C 风格字符串,C风格字符串容易出错。
类模板(class template): 用于创建具体类型的模板。要想使用类模板,必须提供关于类型的辅助信息。例如,要定义一个 vector 对象需要指定元素的类型:vector 包含 int 类型的元素。
编译器扩展(compiler extension): 某个特定的编译器为 C++ 语言额外增加的特性。基于编译器扩展编写的程序不易移植到其他的编译器上。
容器(container): 是一种类型,其对象容纳了一组给定类型的对象。 vector 是一种容器类型。
拷贝初始化(copy initialization): 使用赋值号( = )的初始化形式。新创建的对象是初始值的一个副本。
difference_type: 由 stirng 和 vector 定义的一种带符号整数类型,表示两个迭代器值之间的距离。
直接初始化(direct initialization): 不使用赋值号( = )的初始化形式。
empty: 是 string 和 vector 的成员,返回一个布尔值。当对象的大小为 0 时返回真,否则返回假。
end: 是 string 和 vector 的成员,返回一个尾后迭代器。也是一个标准库函数,输入一个数组,返回指向该数组尾元素的下一个位置的指针。
getline: 在 string 头文件中定义的一个函数,以一个 istream 对象和一个 stirng 对象为输入参数。割爱函数首先读取输入流的内容直到遇到换行符停止,然后将读入的数据存入 string 对象,最后返回 istream 对象。其中换行符读入但是不保留。
索引(index): 是下标运算符使用的值。表示要在 string 对象,vector 对象或者数组中访问的一个位置。
实例化(instantiation): 编译器生成一个指定的模板类或函数的过程。
迭代器(iterator):是一种类型,用于访问容器中的元素或者在元素之间移动。
迭代器运算( iterator arithmetic): 是 string 或 vector 的迭代器的运算:迭代器与整数相加或相减得到一个新的迭代器,与原理的迭代器相比,新迭代器向前或向后移动了若干个位置。两个迭代器相减得到它们之间的距离,此时它们必须指向同一个容器的元素或该容器尾元素的下一位置。
以空字符结束的字符串(null-terminated string): 是一个字符串,它的最后一个字符后面还跟着一个空字符(' \0 ')。
尾后迭代器(off-the-end iterator): end函数返回的迭代器,指向一个并不存在的元素,该元素位于容器尾元素的下一个位置。
指针运算(pointer arithmetic): 是指针类型支持的算术运算。指向数组的指针所支持的运算种类与迭代器运算一样。
prtdiff_t: 是cstddef头文件中定义的一种与机器实现有关的带符号整数类型,它的空间足够大,能够表示数组中任意两个指针之间的距离。
push_back: 是 vector 的成员,向 vector 对象的末尾添加元素。
范围 for 语句(range for): 一种控制语句,可以在值的一个特定集合内迭代。
size : 是 string 和 vector 的成员,分别返回字符的数量或元素的数量。返回值的类型是size_type。
size_t: 是cstddef 头文件中定义的一种与机器实现有关的无符号整数类型,它的空间足够大,能够表示任意数组的大小。
string : 是一种标准库类型,表示字符的序列。
using 声明(using declaration): 令命名空间中的某个名字可悲程序直接使用。
using 命名空间 :: 名字
上述语句的作用是令程序可以直接使用 名字,而无须写它的前缀部分 命名空间::
值初始化(value initialization): 是一种初始化过程。内置类型初始化为 0,类类型由类的默认构造函数初始化。只有当类包含默认构造函数时,该类的对象才会被值初始化。对于容器的初始化来说,如果只说明了容器的大小而没有指定初始值的话,就会执行值初始化。此时编译器会生成一个值,而容器的元素被初始化为该值。
vector: 是一种标准库类型,容纳某指定类型的一组元素。
++运算符(++ operator): 是迭代器和指针定义的递增运算符。执行 ”加 1 “ 操作使得迭代器指向下一个元素。
[ ] 运算符( [ ] operator): 下标运算符。obj[j]得到容器对象 obj 中位置 j 的那个元素。索引从 0 开始, 第一个元素的索引是 0,尾元素的索引是 obj.size( ) - 1。下标运算符的返回值是一个对象。如果 p 是指针, n 是整数, 则 p[n] 与 (p+n) 等价。
-> 运算符( -> operator): 箭头运算符,该运算符综合了解引用操作和点操作。a -> b 等价于 (a).b。
<< 运算符(<< operator): 标准库类型 string 定义的输出运算符,负责输出 string 对象中的字符。
>> 运算符(>> operator): 标准库类型 string 定义的输入运算符,负责读入一组字符,遇到空白停止,读入的内容赋给运算符右侧的运算对象,该运算对象应该是一个 string 对象。
! 运算符(! operator): 逻辑非运算符,将它的运算对象的布尔值取反。如果运算对象是假,则结果为真,如果运算对象是真,则结果为假。
&& 运算符(&& operator): 逻辑与运算符,如果两个运算对象都是真,结果为真。只有当左侧运算对象为真时才会检查右侧运算对象。
|| 运算符( || operator): 逻辑或运算符,任何一个运算对象时真,结果就为真。只有当左侧运算对象为假时才会检查右侧运算对象。第 3 章 字符串, 向量和数组
<<C++ Primer>> 第三章 字符串, 向量和数组 术语表的更多相关文章
- [C++ Primer] 第3章: 字符串, 向量和数组
标准库类型string string初始化 string s2(s1); string s2 = s1; string s3("value"); string s3 = " ...
- C++ Primer 第3章 字符串、向量和数组
C++ Primer 第3章 字符串.向量和数组 C Primer 第3章 字符串向量和数组 1 命名空间的using声明 2 标准库类型string 3 标准库类型vector 4 迭代器介绍 5 ...
- Python第三章-字符串
第三章 字符串 3.1 基本字符串操作 Python的字符串和元组差不多,是不可以进行改变的,如果想改变值,可以尝试list序列化之后在进行修改. { website = 'http://ww ...
- PHP:第五章——字符串与数组及其他函数
<?php header("Content-Type:text/html;charset=utf-8"); //1.str_split——将字符串转换为数组. /*$str= ...
- C++Primer 第三章
//1.位于头文件中的代码一般不应该使用using声明.这是因为头文件的内容会拷贝到所有引用它的文件中,可能会产生始料未及的命名空间冲突. // 三种使用命名空间中的名字的方法 using names ...
- C++primer第三章标准库类型
除第二章介绍的基本数据类型外,C++ 还定义了一个内容丰富的抽象数据类型标准库. 本章将介绍标准库中的 vector.string 和 bitset 类型. string 类型支持长度可变的字符串 v ...
- 《汇编语言 基于x86处理器》第九章字符串与数组部分的代码
▶ 书中第九章的程序,主要讲了字符串相关的输入.输出,以及冒泡排序.二分搜索 ● 代码,Irvine32 中的字符串库函数代码范例 INCLUDE Irvine32.inc .data str1 BY ...
- perl第三章 列表和数组
访问数组中的元素 $fred[0] $fred[1] $number=2.75; print $fred[$number-1] 结果就是print $fred[1] 特殊的数组索引1.对索 ...
- C++ Primer 第三章 标准库类型vector+迭代器iterator 运算
1.vector: 标准库类型vector表示对象的集合,其中所有对象的类型都相同,集合中的每个对象都有一个与之对应的索引,索引用于访问对象.因为vector“容纳着”其他对象,所以它也常被称作容器( ...
随机推荐
- PHP 下载+安装
1.官网下载 官网地址:http://PHP.net/ 地址:http://download.csdn.NET/detail/anndy_/9494632 官网手册:https://secure.ph ...
- Confluence 6 插入一个文件到你的页面
文件可以在页面中以缩略图或者链接的方式显示.我们有多种办法能够上传文件,请参考 Upload Files 页面. 你可以控制文件如何在你的页面中显示.文件在页面中显示的可用方法与你的文件类型有关. 插 ...
- 分享几个免费IP地址查询接口(API)
淘宝IP地址库 提供的服务包括:1. 根据用户提供的IP地址,快速查询出该IP地址所在的地理信息和地理相关的信息,包括国家.省.市和运营商.2. 用户可以根据自己所在的位置和使用的IP地址更新我们的服 ...
- unittest详解(三) 测试套件(TestSuite)
在前面一章中示例了如何编写一个简单的测试,但有两个问题: 我们知道测试用例的执行顺序是根据测试用例名称顺序执行的,在不改变用例名称的情况下,我们怎么来控制用例执行的顺序呢? 一个测试文件,我们直接执行 ...
- 隐藏表单域、URL重写、cookie、session
隐藏表单域: 隐藏域是用来收集或发送信息的不可见元素,对于网页的访问者来说,隐藏域是看不见的.当表单被提交时,隐藏域就会将信息用你设置时定义的名称和值发送到服务器上. 代码格式:<input t ...
- sqli-labs(4)
sqli-libs(4)通关过程 0x01爱之初体验 首先我们进行注入试探 发现我们的单引号 回显事正常的 双引号回显反而是错误的 查看源码我们发现 多了一个给id赋值的语句 我们在php上面执行一下 ...
- 解决eclipse无法部署工程到tomcat运行的问题
当在tomcat想加入工程时在列表没发现要的项目时, 引起这个错误提示的原因是:项目里的.project文件和.settings文件的缺失或者错误.而不能适用于现在的tomcat. 解决办法如下: 右 ...
- 关于JavaScript的内存机制
一.背景 var a = 20; var b = 'abc'; var c = true; var d = { m: 20 } 因为JavaScript具有自动垃圾回收机制,所以对于前端开发来说,内存 ...
- 第七周学习总结&JAVA实验五报告。
JAVA实验报告五: 实验四 类的继承 实验目的 理解抽象类与接口的使用: 了解包的作用,掌握包的设计方法. 实验要求 掌握使用抽象类的方法. 掌握使用系统接口的技术和创建自定义接口的方法. 了解 J ...
- Shell中的条件测试和循环语句
1.条件测试:test或[ 如果测试结果为真,则该命令的Exit Status为0,如果测试结果为假,则命令的Exit Status为0 运行结果: 带与.或.非的测试命令[ ! EXPR ] : E ...