<<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 章 字符串, 向量和数组

原文地址:https://www.cnblogs.com/isChenJY/p/11407851.html

时间: 2024-10-13 02:23:58

<<C++ Primer>> 第三章 字符串, 向量和数组 术语表的相关文章

第三章字符串.向量和数组

练习3.24:请使用迭代器重做3.3.3节的最后一个练习(读入一组整数并把他们存入一个vector对象,先输出第一个和最后一个元素的和,接着输出第二个和倒数第二个元素的和,以此类推) #include<iostream> #include<vector> using namespace std; int main() { int a; vector<int> v; while(cin>>a) v.push_back(a); auto head = v.beg

《ECMAScript 6 入门- 第三章 字符串的扩展》 —— 摘抄

1. codePointAT方法 JavaScript内部,字符以UTF-16的格式储存,每个字符固定为2个字节.对于那些需要 4个字节储存的字符(Unicode编号大于0xFFFF的字符),JavaScript会认为它们是两个字符.ES6提供了codePointAt方 法,能够正确处理4个字节储存的字符,返回一个字符的Unicode编号. codePointAt方法是测试一个字符由两个字节还是由四个字节组成的最简单方法. function is32Bit(c) { return c.codeP

C++Primer 第三章

//1.位于头文件中的代码一般不应该使用using声明.这是因为头文件的内容会拷贝到所有引用它的文件中,可能会产生始料未及的命名空间冲突. // 三种使用命名空间中的名字的方法 using namespace std; //最好不要在头文件中使用,容易造成命名空间名字污染,导致命名冲突 using std::string; std::string; //2.头文件cctype中定义了一组对字符进行操作的函数 // isalnum(), isalpha(), iscntrl(), isdigit(

《汇编语言 基于x86处理器》第九章字符串与数组部分的代码

? 书中第九章的程序,主要讲了 ● 代码,Irvine32 中的字符串库函数代码范例 1 INCLUDE Irvine32.inc 2 3 .data 4 str1 BYTE "abcde////", 0 5 str2 BYTE "ABCDE", 0 6 msg0 BYTE "Upper case: ", 0 7 msg1 BYTE "str1 == str2", 0 8 msg2 BYTE "str1 < s

第三章 字符串

string 使用getline()读取一整行 getline会读取一整行字符除了换行符,得到的string对象不包含末尾的换行符 如:string line: getline(cin,line): string::size_type类型 对于size函数来说其返回值是string::size_type类型的值,它是个无符号的值且足够大,与机器具体实现无关.

c++primer 第三章编程练习答案

3.7.1 #include<iostream> int main() { using namespace std; const int unit = 12; int height,inch,foot; cout << "please input your height __ inch\b\b\b\b\b\b\b"; cin >> height; inch = height % unit; foot = height / unit; cin.get(

编程之美第三章-字符串移位包含的问题

#include<iostream> #include<string> using namespace std; bool find_str(string s1,string s2) { if(s1.empty()||s2.empty()) return false; string::size_type pos=s1.find(s2); return (pos!=string::npos)?true:false; } int main() { string s1; cin>&

&lt;&lt;C++ Primer&gt;&gt; 术语表(待补充)

术语表 第 1 章 开始 参数(实参, argument): 向函数传递值 ?? 赋值(assignment): 抹去一个对象当前值一个新值取代之 ?? 缓冲区(buffer): 一个存储区域, 用于保存数据.IO 设施通常将输入(或输出)数据保存在一个缓冲区中,读写缓冲区的动作与程序中的动作无关的.我们可以显式地刷新缓存,以便强制将缓冲区中的数据写入输出设备.默认情况下,读cin 会刷新cout :程序非正常终止时也会刷新cout . ?? 内置类型(built-in type):由语言定义的

C++ Primer 笔记 第三章

C++ Primer 第三章 标准库类型 3.1using声明 例: using namespace atd; using std::cin; 3.2string类型 初始化方式 string s1 默认构造函数,s1为空串 string s2(s1) 将s2初始化为s1的一个副本 string s3(“value”) 将s3初始化为一个字符串的副本 string s4(n, 'c') 将s4初始化为字符'c'的n个副本 getline读取整行文本 getline接受两个参数:一个是输入流对象和